호기심 문제가있는 것 같습니다. 나는이 같은 OpenGL을 설정 :GLSL 정점 셰이더에서 올바른 좌표계를 사용하여
glViewport(0, 0, width, height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0, width, height, 0, -width, width);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
는 물론, 폭, 높이, 600 (400)에 의해 내부의 OpenGL 모든 것이 괜찮 내 윈도우의 크기, 나는 정확한 좌표 시스템을 이동 할 수 있습니다. 200 픽셀만큼 그려지는 것은 무엇이든 200 개의 움직임으로 번역됩니다. 주요 내부
vec4 pos = gl_ModelViewProjectionMatrix * gl_Vertex;
gl_Position = pos;
을() 모든 것이 잘 될 것 같다 :
이제 내 버텍스 쉐이더 내부 저도 같은 좌표계를 사용할 수없는 것, 내가 평소 않습니다. 그러나 이런 식으로 시도 할 때 :
정점 위치는 각 방향으로 1 픽셀 씩 이동하지 않고 x는 300, y는 200으로 변환됩니다.
나는이 값들을 쉐이더 내부에서 스케일 할 수 있다는 것을 알고 있지만 약간 더러운 것처럼 보인다. 분명히 내가 설정에서 뭔가 잘못하고 있어야합니다. 어떤 도움이라도 대단히 감사합니다.