1.顶点着色器(Vertex Shader)
顶点着色器:几个可编程着色器中的一个。
OpenGL用GLSL编写着色器,GLSL看起来很像C语言。
#version 330 core
layout (location = 0) int vec3 aPos;
void main()
{
gl_Position = vec4(aPos.x, aPos.y, aPos.z, 1.0)
}
使用in 关键字,在顶点着色器中声明所有的输入顶点属性。GLSL有一个向量数据类型,包含1到4个float分量。由于每个顶点都有一个3D坐标,我们就创建一个vec3输入变量aPos。
为了设置顶点着色器的输出,我们必须把位置数据赋值给预定义的gl_Position,它在幕后的vec4.
在main函数最后,我们将gl_Position设置的值会成为该顶点着色器的输出
编译顶点着色器:
(1)创建一个着色器对象,用ID引用,用glCreateShader创建这个着色器
unsigned int vertexShader;
vertexShader = glCreateShader(GL_VERTEX_SHADER);
我们创建的是一个顶点着色器,传递的参数是GL_VERTEX_SHADER
(2)把这个着色器的源码附加到着色器对象上
glShaderSource(v