OpenGL 渲染流程图解析 (二)

2019-06-03  本文已影响0人  比海更深g丶
BDBB867A-BC25-4F4C-9B71-B402D46B723E.png

1.客户端 server 和 服务端 client

2.着色器 Shader

上图的Vertex Shader(顶点着色器) 和 Fragment Shader(片元着色器)。

3.图元装配 Primitive Assembly

image.png

OpenGL向我们提供的3种着色器传递渲染数据的方法

  • 属性管道 Attributes (ins)
  • 统一管道 Uniforms
  • 纹理管道 Texture Data

Attributes属性值

属性就是对每一个顶点都要作改变的数据元素。实际上,顶点位置本身就是一个属性。属性值可以是浮点数、整数、布尔数据。

Uniforms值

属性是一种对整个批次属性都取统一值的单一值。它是不变的。通过设置uniform变量就紧接着发送一个图元批次命令,Uniform变量实际上可以无数次限制地使用,设置一个应用于整个表面的单个颜色值,还可以设置一个时间值。在每次渲染某种类型的顶点动画时修改它。

Texture Data 纹理数据

outs 输出

在图表中第四种数据类型是输出(out);输出数据是作为一个阶段着色器的输出定义的,二后续阶段的着色器则作为输入定义。

以上的总结参考了并部分摘抄了以下文章,非常感谢以下作者的分享!:
作者CC老师_HelloCoder的《OpenGL 渲染管线流程解析》

上一篇 下一篇

猜你喜欢

热点阅读