Shader概述

   一:什么是Shader?    

          Gpu流水线上一些可高度编程的阶段,而由着色器编译出来的最终代码是会在Gpu上运行的;     有一些特定类型的着色器,如顶点着色器,片元着色器等。     依靠着色器我们可以控制流水线中的渲染细节,例如用顶点着色器来进行顶点变换及传递数据,用片元着色器来进行逐像素渲染。

 二:shader形成过程:

第一步:应用阶

①:把数据加载到县存中

②:设置渲染状态

③:调用Draw Call

第二步:几何阶段

第三步:光栅化阶段

Shader概述

 注1:绿色代表完全可编程控制;黄色代表可配置但不可编程;蓝色代表Gpu固定实现

注2:几何阶段和光栅化阶段,开发者无法拥有绝对的控制权,其实现的载体是Gpu。Gpu通过实现流水线化,大大加快了渲染速度。虽然我们无法完全控制这两个阶段的实现细节,但是Gpu向开发者开放了很多控制权。