OpenGL管线详解

下图OpenGL的管线,今天来梳理一下他
在这里插入图片描述

!顶点数据
OpenGL将所有的数据都放在VBO中,相当于OpenGL服务端维护的一块内存(常见的命令为glBufferData()).
生成缓存对象后,OpenGL使用glDrawArray(),等绘制命令执行绘制操作,将数据传送到服务端
我们可以将一个顶点视为一个统一处理的数据包,这个数据包,通常包含位置数据,还有决定像素颜色的数据。
2.顶点着色器
顶点着色器可以十分简单,只是简单地把数据传递到下一个着色阶段(此时叫传递着色器,因为只有传递数据的功能)
也可以十分复杂,执行大量的计算来得到最终顶点在屏幕中的位置(这个过程会设计大量的变换矩阵),或者通过光照的计算来判断顶点的颜色。
3.细分着色器(细分控制着色器->细分计算着色器)//这是一个可选的过程。
细分着色器会使用patch来描述一个物体的形状。使用较简单的patch来对物体进行细分,结果就是图元数量的增加,模糊的外观会变得平滑。(两个细分着色器分别管理patch数据并生成最终的形状)
4.几何着色器(可选)
允许在光栅化之前对图元做进一步的处理,例如创建新的图元
5.图文装配
图元装配将顶点数据与相关的图元之间组织起来,准备下一步的裁剪和光栅化工作
6裁剪
顶点可能会落在viewport之外,此时与定点相关的图元会做出改动,确保相关的像素不会在vie

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值