40-Draw函数流程与Shader
渲染指令发出函数
设计绘制指令函数如下:

调用Draw函数之前,必须绑定好需要绘制的VAO/EBO
drawMode: 绘制直线/三角形、
first: 从EBO的第几个index开始绘制
count: 绘制EBO当中多少个index的顶点

渲染函数流程规划

Shader类规划
设计Shader类的虚基类

Uniform变量
分析对于一个Mesh的一次Draw调用
对于Shader而言,每次VertexShader调用都会传入不同顶点的属性;每次FragmentShader都会传入不同片元数据;
但是每个顶点都会使用相同的model/view/projection矩阵,每个Fragment都会使用相同的光照数据
Uniform变量: 把每次vs公用数据以及每次fs公用数据进行抽取,从而构成统一且公用的数据
不同种类的Shaser子类,其Uniform变量也不尽相同;
举例: Default Shader

DefaultShader->Shader

All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.
