一、 认识shader
shader是什么
shader,中文翻译为着色器,用来给3d或者2d的物体着色,以实现目的美术效果。
二、shader的渲染流程
shader的渲染流程,十分重要,对于新手,可能会听的比较迷糊,而且刚开始时很少使用,可以先跳过,等到后面再来回顾,就犹如醍醐灌顶。
01.三个阶段
应用阶段 --> 几何阶段 --> 光栅化阶段
1) 应用阶段(cpu)
应用阶段发生在cpu中,开发者设置好一系列的程序和数据,cpu收集数据,并通过调用drawcall,将数据传递给gpu。
视锥体裁剪 --> 数据加载到显存 --> 设置渲染状态 --> 调用drawcall
2) 几何阶段(gpu)
几何阶段是gpu处理传来的数据,顶点等。
顶点数据 --> 顶点着色器 --> 曲面细分着色器 --> 几何着色器 --> 剪裁 --> 屏幕映射
3) 光栅化阶段 (gpu)
光栅化阶段是把数据映射在屏幕的过程。
三角形设置 --> 三角形遍历 --> 片元着色器 --> 逐片元操作
详情可见:https://blog.csdn.net/Terie/article/details/100782415这个对每个阶段的功能讲述很清楚。
https://blog.csdn.net/qq_36946274/article/details/81055338这篇文章把每个阶段用图片表示出来了,很形象。