OpenGL--渲染流程
2020-01-07 本文已影响0人
tp夕阳武士
OpenGL 着色器流程
OpenGL第7版-简易图形管线概要.png image.png image.png上图的着色器渲染流程中,圆角矩形表示固定功能函数阶段,二直角矩形表型可编程阶段;可编程阶段,OpenGL库会执行由程序员指定的着色器.
OpenGL渲染管线结构图
image.png什么是客户端- 什么是服务端?
- 客户端:CPU中存储的一些相关的代码<OpenGL API/ C / C++>
- 服务端:和客户端在功能上是异步的,两只之间是各自独立的软硬件模块;客户端不断的把数据块和命令块组合在一起输送到缓冲区,然后缓冲区就会发送到服务器执行。(GPU)
- 如果服务器停止工作等待客户机,或者客户机停止工作来等待服务器做好接受更多的命令和准备,我们把这种情况成为管线停滞
Attributes 可以传递哪些值?
- 颜色
- 顶点数据
- 纹理坐标
- 光照法线
uiniform 传递哪些数据?
主要传输那些比较固定的数据,直接传递到片元着色器,顶点着色器
- 旋转矩阵
- 颜色转换矩阵 YUV->RGB
Texture Data
纹理数据的作用不仅仅是表现图形。很多图形文件格式都是以无符号字节形式对颜色分量进行存储的,但我们仍然可以设置浮点纹理。这就是说,任何大型浮点数据块(例如消耗资源很大的函数的大型查询表)都可以通过这种方式传递给着色器。