Unity Shader 之 渲染流水线
2017-11-26 10:13
330 查看
Unity Shader 之渲染流水线
什么是渲染流水线
一个渲染流程分成3个步骤:应用阶段(Application stage)
几何阶段(Geometry stage)
光栅化阶段(Rasterizer stage)
CPU 与 GPU之间的通信
通信主要包括3个步骤:把数据加载到显存中
设置渲染状态
调用Draw Call
GPU 流水线
在渲染流水线的几何阶段和光栅化阶段,开发者能做的事情很少,这里制作简单介绍。
GPU的渲染流水线接受顶点数据作为输入。这些顶点数据应用阶段加载到显存中,再由Draw Call指定。随后传递给顶点着色器。
顶点着色器(Vertex Shader)是完全可编程的,它通常用于实现顶点的空间变换、顶点着色。曲面细分着色器和几何着色器是可选的着色器。接下来时裁剪(Clipping),这一阶段是将那些不再摄像机视野内的顶点裁剪掉。几何着色器的最后阶段是屏幕映射(Screen Mapping)。
光栅化阶段除了片元着色器是可编程的外,其他都是不可编程的。
具体来说,shader就是:
GPU流水线上的一些可高度编程的阶段,而由着色器编译出来的最终代码是会在GPU上运行的
有一些特定类型的着色器,如顶点着色器、片元着色器
依靠着色器我们可以控制流水线的渲染细节,例如用顶点着色器来进行顶点变换以及传递数据,用片元着色器来进行逐像素的渲染
相关文章推荐
- Unity Shader入门精要学习笔记 - 第2章 渲染流水线
- 【Unity Shader】渲染流水线
- Unity Shader入门精要笔记(一):渲染流水线
- 窥探Unity5渲染内部之解析UnityShaderVariables.cginc
- Unity_Shader开发_Shader和渲染管线(二)
- [UnityShader]渲染队列、ZWrite和ZTest
- 窥探Unity5渲染内部之解析UnityShaderVariables.cginc
- Unity Shader渲染顺序 坐标系 和光照模型
- Unity shader 入门之渲染管线
- 【猫猫的Unity Shader之旅】之双面材质和多Pass渲染
- Unity&Shader高级篇-渲染路径(Rendering Paths)
- Unity&Shader高级篇-渲染路径(Rendering Paths)
- [UnityShader]渲染队列、ZWrite和ZTest
- 解决Unity Vertex Shader 渲染丢失的问题
- 三言两语说shader(四)渲染流水线及相关
- unity, 替换shader渲染(Rendering with Replaced Shaders)
- UnityShader入门精要学习笔记(十二):渲染路径与光源类型
- [UnityShader]渲染队列、ZWrite和ZTest
- 【Shader基础篇】之渲染流水线
- unityshader学习笔记之纹理渲染