나는 다음과 같은 버텍스 쉐이더 있습니다행렬 혼란
attribute vec4 Position;
attribute vec4 SourceColor;
varying vec4 DestinationColor;
uniform mat4 Projection;
void main(void) {
DestinationColor = SourceColor;
gl_Position = Projection * Position;
}
내가 다음 Projection
일정에 다음과 같은 매트릭스를 적용하려고 :
float matrix[16] = {
1.0f, 0.0f, 0.0f, 0.0f,
0.0f, 1.0f, 0.0f, 0.0f,
0.0f, 0.0f, 1.0f, 0.0f,
0.0f, 0.0f, 0.0f, 1.0f
};
glUniformMatrix4fv(projectionSlot, 1, GL_FALSE, matrix);
이가 아무것도하지 안가? 이걸 실행 한 후에는 더 이상 내 물건을 볼 수 없어요.
'glGetError()'는 0을 반환합니다. 프로그램은'glUniformMatrix4fv()'와'projectionSlot = glGetAttribLocation (programHandle, "Projection");을 호출하기 전에 컴파일되고 링크되었습니다. "glUniform 호출 중에 프로그램이 바운드입니까?"라는 것은 무엇을 의미합니까? – rid
@Radu : Attrib이 아닌 "glGetUniformLocation"이어야합니다. glGetUniformLocation()으로 변경된 – Tim
은 여전히 동일한 문제입니다. – rid