4
我想着色3個圓圈,但只有3個白色圓圈出現。在這個例子中n是3。每個頂點有5個點,2位和3色OpenGL 3.3與片段着色器不同的顏色
這裏是我想到一個問題可能在於:
glEnableVertexAttribArray(0);
glBindBuffer(GL_ARRAY_BUFFER, vertexbuffer);
glVertexAttribPointer(
0,
2,
GL_FLOAT,
GL_FALSE,
5*sizeof(float),
(void*)0
);
glEnableVertexAttribArray(1);
glVertexAttribPointer(
1,
3,
GL_FLOAT,
GL_FALSE,
5*sizeof(float),
(void*)(2*sizeof(float))
);
glDrawElements(GL_TRIANGLES, 20 * 3 * n, GL_UNSIGNED_INT, 0);
glDisableVertexAttribArray(0);
glDisableVertexAttribArray(1);
我的着色器:
#version 330 core
in vec3 Color;
out vec4 outColor;
void main()
{
outColor = vec4(Color, 1.0);
}
#version 330 core
layout(location = 0) in vec2 position;
layout(location = 1) in vec3 color
out vec3 Color
void main(){
gl_Position = vec4(position, 0.0, 1.0);
Color = color;
}
感謝您抽空看看 安迪
編輯:
layout(location = 1) in vec3 color
out vec3 Color
layout(location = 1) in vec3 color;
out vec3 Color;
實際上,您發佈的部件到目前爲止對我來說看起來還不錯。你可以在創建頂點數組的地方發佈代碼並創建/填充緩衝區嗎? – derhass
我忘了在分片着色器中分號和顏色vecs ...現在已經看了幾個小時了。感謝您看看 –
哦。我也錯過了... – derhass