GPU逻辑管线

文章目录

  • 前言
  • 一、渲染流水线
  • 二、英伟达显卡简化概念图(GPU)
    • 1、我们的Shader会调用英伟达提供的 API
    • 2、调用API后,把Shader用到的指令存储在Pushbuffer中
    • 3、然后图元分配器,会把 模型数据 和 Shader 指令传入GPU中
    • 4、这个SM是每个小单元的内部结构
    • 5、模型顶点数据准备好 并且 Shader 指令准备好后,进入每一个 Core 中计算
    • 6、顶点数据计算完成后,会进行顶点数据转化为裁剪空间,然后传入片元着色器计算
    • 7、计算使用的还是 SM 单元,只是逻辑变了
    • 8、纹理采样 和 纹理缓存 在如下位置完成
    • 9、如果我们在 顶点着色器 或 片元着色器 中使用了条件语句,我们的SM会按如下逻辑运行
    • 10、然后最后完成颜色混合


前言

了解一下 GPU 逻辑管线


一、渲染流水线

在这里插入图片描述


二、英伟达显卡简化概念图(GPU)

在这里插入图片描述

1、我们的Shader会调用英伟达提供的 API

在这里插入图片描述

2、调用API后,把Shader用到的指令存储在Pushbuffer中

在这里插入图片描述

3、然后图元分配器,会把 模型数据 和 Shader 指令传入GPU中

在这里插入图片描述

4、这个SM是每个小单元的内部结构

在这里插入图片描述

5、模型顶点数据准备好 并且 Shader 指令准备好后,进入每一个 Core 中计算

在这里插入图片描述

6、顶点数据计算完成后,会进行顶点数据转化为裁剪空间,然后传入片元着色器计算

在这里插入图片描述

7、计算使用的还是 SM 单元,只是逻辑变了

在这里插入图片描述

8、纹理采样 和 纹理缓存 在如下位置完成

在这里插入图片描述

9、如果我们在 顶点着色器 或 片元着色器 中使用了条件语句,我们的SM会按如下逻辑运行

在这里插入图片描述

遇到 if 为 true,则通过Core计算。否则,会等待其他语句块的 if 计算完成后,进行else计算

在这里插入图片描述
如果我们的Shader中,存在条件分支语句、循环语句。
这是非常消耗性能的
因为,只要存在一个分支为false,那么对于同一排的Core计算
都需要等待运行 if 和 else 两个语句块的时间

10、然后最后完成颜色混合

在颜色混合阶段完成 深度测试、模板测试等这些功能
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/234850.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

设计模式之装饰模式(2)--有意思的想法

目录 背景概述概念角色 基本代码分析❀❀花样重难点聚合关系认贼作父和认孙做父客户端的优化及好处继承到设计模式的演变过程 总结 背景 这是我第二次写装饰模式,这一次是在上一次的基础上进一步探究装饰模式,这一次有了很多新的感受和想法,也…

C++——AVL树

作者:几冬雪来 时间:2023年11月30日 内容:C板块AVL树讲解 目录 前言: AVL树与搜索二叉树之间的关系: AVL树概念: 插入结点: 平衡因子: 旋转: 双旋: …

RabbitMQ登录控制台显示--你与此网站的连接不是私密连接

一、RabbitMQ默认账号 Note: The default administrator username and password are guest and guest. 注:默认管理员用户名和密码为guest和guest 二、自己修改过或者注册的情况 由于本人之前用过,注册过账号密码,在登录时,用户名账号有异常出现以下问题 解决方案: 因为我的rab…

高端制造业中的通用性超精密3D光学测量仪器

超精密光学3D测量仪器具有高精度、自动化程度高、实时反馈和范围广等优势。它能够实现微米级别的精确测量,能够精确测量产品的尺寸、形状和表面粗糙度等,具有广泛的应用价值和重要意义。 超精密光学3D测量仪器配备多种传感器、控制器和计算机系统&#…

虚拟数据生成_以Python为工具

生成虚拟数据_以Python为工具 生成虚拟数据技术在现实生活中具有多个重要的应用领域。它为数据隐私保护、机器学习算法开发、数据处理和可视化等方面提供了实用且有价值的解决方案。尤其是能满足定制化需求的虚拟数据,在预期的方向上让数据定向随机。 &#x1f339…

ODBC一般操作

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:…

sublime Text使用

1、增加install 命令面板 工具(tool)->控制面板(command palette) -> 输入install ->安装第一个install package controller,以下安装过了,所以没展示 2、安装json格式化工具 点击install package,等几秒会进入控制面板&#xff0…

六:Day01_Spring Boot01

一、Spring Boot简介 1. 概念简介 Spring Boot是Spring公司的一个顶级项目,和Spring Framework是一个级别的。 Spring Boot实际上是利用Spring Framework 4 自动配置特性完成。编写项目时不需要编写xml文件。 2. 启动器介绍 Spring Boot的启动器实际上就是一个依赖…

keepalive路由缓存实现前进刷新后退缓存

1.在app.vue中配置全局的keepalive并用includes指定要缓存的组件路由name名字数组 <keep-alive :include"keepCachedViews"><router-view /></keep-alive>computed: {keepCachedViews() {console.log(this.$store.getters.keepCachedViews, this.…

网工内推 | 云计算运维,云相关认证优先,最高30K,带薪年假

01 安畅网络 招聘岗位&#xff1a;云计算运维工程师 职责描述&#xff1a; 1、负责对公有云平台的计算、存储、网络资源等IAAS/SAAS/PAAS层产品组件日常交付部署运维工作&#xff0c;包括调试、配置、维护、监控、优化等工作&#xff1b; 2、负责对操作系统及应用日常运行维护…

基于Linux下搭建NextCloud构建自己的私有网盘

NextCloud是什么 Nextcloud是一款开源免费的私有云存储网盘项目&#xff0c;可以让你快速便捷地搭建一套属于自己或团队的云同步网盘&#xff0c;从而实现跨平台跨设备文件同步、共享、版本控制、团队协作等功能。它的客户端覆盖了Windows、Mac、Android、iOS、Linux 等各种平…

IC修真院 | 芯片嵌入式课程重磅上线!

万物互联的时代&#xff0c;离不开嵌入式。 从传统的家用电器到工业控制&#xff0c;从汽车电子到医疗保健&#xff0c;从军事应用到物联网&#xff0c;嵌入式系统无处不在。 我们的后台也经常能收到大家关于“嵌入式”的咨询&#xff0c;也了解到了大家对于嵌入式课程的迫切…