4
3 개의 원을 색칠하려고하지만 3 개의 흰색 원만 나타납니다. 이 예제에서 n은 3입니다.OpenGL3.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;
}
감사를 살펴 을내어 각 정점은 내가 생각하는 곳
다음이 문제가 거짓말을 할 수있다 5 점, 색상의 위치에 대해 2 단계와 3을 가지고 앤디
편집 :
layout(location = 1) in vec3 color
out vec3 Color
layout(location = 1) in vec3 color;
out vec3 Color;
사실, 지금까지 게시 한 부품은 나에게 잘 보이게됩니다. 버텍스 배열을 만들고 버퍼를 만들고 채우는 곳에 코드를 게시 할 수 있습니까? – derhass
내 조각 쉐이더에서 색상 및 색상 vecs를 세미콜론으로 깜박했습니다 ... 지금 몇 시간 동안보고 있습니다. 그래도 고마워. –
오. 나는 이것도 놓쳤다 ... – derhass