我正在尝试交叉OpenGL ES - OpenGL 3.0(非ES)代码来绘制三角形,只是更改正在使用的着色器。
该代码适用于OpenGL ES版本,但不适用于OpenGL 3.0版本。这就是我正在做的事情:
顶点着色器:
#version 330 core
in vec3 a_v4Position;
void main(){
gl_Position = vec4(a_v4Position, 1.0);
}
片段着色器:
#version 330 core
out vec3 color;
void main(){
color = vec3(0,1,0);
}
绘制三角形的代码(GLProgram正确链接)
const float triangleVertices[] =
{
0.0f, 0.5f, 0.0f,
-0.5f, -0.5f, 0.0f,
0.5f, -0.5f, 0.0f,
};
positionAttribLocation = glGetAttribLocation(GLProgram, "a_v4Position");
glEnableVertexAttribArray(positionAttribLocation);
glVertexAttribPointer(positionAttribLocation, 3, GL_FLOAT, GL_FALSE, 0, TriangleVertices);
glDrawArrays(GL_TRIANGLES, 0, 3);