笔记01——GPU渲染流程
来源:互联网 发布:淘宝靠谱日代推荐 编辑:程序博客网 时间:2024/05/18 01:43
一、
1、顶点着色器
输入:几何阶段的数据
GPU并行执行指令,并行执行的指令相互不联系。
CPU顺序执行指令,执行过程中可以相互联系。
工作原理:对每一个顶点调用顶点着色器,计算顶点的颜色和进行坐标变换。
可编程控制。
2、几何着色器
输入:点、线、面等图元数据
工作:生成新的图元,逐图元的着色。这一部分着色器是DirectX10引入的特征。利用GPU特性生成新的细节,减轻CPU负担。
可进行一部分编程控制。
3、裁剪
输入:点、线、面等图元数据,
根据摄像机位置,裁剪无序渲染的部分,减轻后续流程的负担。
可设置,不可编程
4、屏幕映射
输入:点、线、面等图元数据,
将坐标映射到屏幕坐标系。
不可编程
二、
5、三角形设置
输入:顶点位置,颜色和深度等等;前一阶段屏幕映射就是把三维的空间变成二维空间,一个点距离屏幕的远近保留再z轴中,后续用这些信息处理
得到三角形对屏幕像素的覆盖信息;
不可编程;
6、三角形变换
输入:设置结果;
检查像素是否被三角形覆盖,如果是,生成片元,并且对片元内部的像素进行插值。
例子:10岁那年身高1m,18岁2米,计算14岁身高,可通过插值得到。
7、片元着色器
输入:插值结果
通常三角形插值变换,颜色等,得出结果不太好。用片元着色器;
纹理采样,计算光照结果等等;
可编程控制;
8、逐片元操作
输入:片元像素颜色,深度等等
混合和写入像素颜色,近处和远处的颜色混合,得到一个比较好的结果。
可编程控制;
三、其它知识
1、OpenGl(多平台,移动端可使用)与DirectX (xbox,windows,微软开发的)图像应用接口,
显卡,每一代架构不同,指令不同。上一代出一个显卡驱动;
通过图像应用接口 调用显卡驱动,
开发者用OpenGL和directx通过调用图像应用方法,来调显卡驱动,最后通过显卡显示。
2、
HLSL (high level shader language)DirectX的shader编程语言
GLSL OpenGL的shader编程语言
CG nvidia公司出品的,语法更接近c语言,用于图像显示的c语言。和directx有合作,比较接近
Unity Shader Language, unity的shader语言,更容易上手,接近CG、HLSL的语言体系,但不能混用。较以上比,更抽象,更封装。
- 笔记01——GPU渲染流程
- GPU渲染流程
- GPU渲染流程学习_01
- GPU渲染流程学习_02_阴影
- 渲染流程笔记
- Shader学习历程(二)——GPU渲染过程
- Android性能优化典范——GPU渲染(Profile GPU Rendering)
- 图形绘制管线描述GPU的渲染流程
- 学习UnityShader入门精要笔记1——渲染流程概述
- crysis2 dx9一帧渲染流程笔记
- crysis2 - dx9一帧渲染流程笔记
- COCOS学习笔记--Cocos引擎渲染流程
- 《浏览器渲染原理及流程》学习笔记
- 学习笔记:浏览器渲染优化——关键渲染路径
- GPU渲染时代——2D图形图像中的应用(一)
- GPU渲染时代——2D图形图像中的应用(二)
- 移动GPU渲染原理的流派——IMR、TBR及TBDR
- Android之GPU过度绘制与图形渲染优化——Hierarchyviewer时间不显示
- 生活的烦恼
- 安装Apache Kylin时遇到的问题
- Runtime.getRuntime().addShutdownHook关闭钩子介绍
- 如何获取Android系统时间是24小时制还是12小时制
- lucene全文搜索之四:创建索引搜索器、6种文档搜索器实现以及搜索结果分析(结合IKAnalyzer分词器的搜索器)基于lucene5.5.3
- 笔记01——GPU渲染流程
- 如何打开VMware的vmdk虚拟磁盘文件
- OSGI中,以Web Service的方式提供文件上传的接口
- cloudera manager 设置开机自启
- 块元素的作用
- javaScript面向对象编程
- Sublime Text3
- springMVC框架--json数据的交互(四)
- 使用键值对进行本地存储(分类存储、获取)