opengl 流程梳理

01 顶点数组 索引数组

在这里插入图片描述
有两个数组缓冲区分别保留顶点数组和索引数组,顶点数组保留顶点信息,顶点信息包括顶点坐标,顶点颜色,顶点纹理等。索引数组是图元装配时的顶点索引。顶点数组中的解析需要依照glVertexAttribPointer(0, 3, GL_FLOAT,GL_FALSE, 8 * sizeof(GLfloat), (void*)0)函数解析,函数参数的含义:第一个参数表示这是输入的第几个变量,这个参数和顶点着色器中的GLSL代码对应,第2个参数表示此顶点属性有几个数据,后面的8 * sizeof(GLfloat)表示每次读取多少个字节,(void*)0表示在读取的数据中要偏移几个数据。
VAO就相当于一次副本备份,以后每次绘图,直接调用VAO就等于做了上面的所有工作。

02 顶点着色器和片段着色器

在这里插入图片描述
着色器的基本格式:输入数据 、输出数据、main()函数。着色器代码GLSL有自己的几个数据结构,顶点着色器的输入数据是直接和C++的顶点数据相关联的,glVertexAttribPointer()函数的第一个参数的值就是着色器代码的location的值,着色器每一个layout变量都需要一个glVertexAttribPointer()函数来帮助其完成与顶点数组缓冲区的数据交互。顶点着色器的输出数据会作为片段着色器的输入数据,片段着色器的输出数据会作为后续流程的输入数据。

03 纹理贴图

在这里插入图片描述
纹理贴图涉及到纹理缓冲区,纹理缓冲区有多个满足多张贴图需要,所以需要添加两个部分第一是将着色器中的纹理采样区域与纹理缓冲区相应单元绑定,第2是需要将需要使用的纹理单元激活,激活的时候就是导入之前已经读取的纹理缓冲区对象texture1,texture2. 其它就是设置纹理单元的属性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值