当前位置:网站首页>openGL_05 Shader的简单应用

openGL_05 Shader的简单应用

2022-06-09 04:15:00 Hxm5211314

在 VAO 中启用额外特性

之前我么你在顶点数组中只定义了顶点位置,在后面还可以加上颜色等其他信息,之后规则进行解析即可

解析顶点数据

 glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 6 * sizeof(float), (void*)0);
    glEnableVertexAttribArray(0);//启用0号顶点属性

解析颜色数据
 glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 6 * sizeof(float), (void*)(3 * sizeof(float)));
    glEnableVertexAttribArray(1);//启用1号顶点属性

对于每个顶点来说,位置顶点属性在前,所以它的偏移量是0。颜色属性紧随位置数据之后,所以偏移量就是3 * sizeof(float),用字节来计算就是12字节。

 修改着色器

 运行:

这样每个顶点都是不一样的颜色了

使用Uniform Uniform是一种从CPU中的应用向GPU中的着色器发送数据的方式

 在CPU中进行传值

 sin函数让数值在0.0到1.0之间改变,配上当前时间就是一个不断变化的值

如果glGetUniformLocation返回-1就代表没有找到这个位置值

看效果

原网站

版权声明
本文为[Hxm5211314]所创,转载请带上原文链接,感谢
https://blog.csdn.net/Hxm5211314/article/details/125189754