2012-03-24 2 views
1

제가 아는 바로는 OpenGL에 대한 모든 것이 3.1 이후로 변경되었으므로 렌더링 컨텍스트의 크기를 조정하는 방법을 알 수 없습니다.(OpenGL 3.1 - 4.2) 객체가 화면 공간을 모두 차지합니다.

float positionData[] = { -0.8f, -0.8f, 0.0f, 
          0.8f, -0.8f, 0.0f, 
          0.0f, 0.8f, 0.0f }; 

이 문제를 해결할 수있는 설정이 있습니까? 또는 수학을 쉐이더 자체에 통합해야합니까?

OpenGL pretends the window is actually 2.0f by 2.0f

답변

3

당신은 (그렇게하는 것이 이해가되지 않습니다) 렌더링 컨텍스트 크기를 조정하지 않습니다,하지만 당신은 뷰포트의 크기를 조정할 수 있습니다. glViewport 및 친구들과 같은 기능을 사용하십시오. 핵심 프로필 사양에서 해당 내용을 읽을 수 있습니다.

'카메라'를 움직이는 것에 대해 이야기하는 경우 매트릭스를 만들어 쉐이더에 전달해야합니다. 이를 수행하는 방법을 설명하는 많은 자습서가 있습니다.

+0

그가 말한 내용. 또한 http://stackoverflow.com/a/9793178/524368에 미리 정의 된 고정 함수 행렬 대신 유연성을 높이기 위해 모든 것을 직접 정의 할 필요가 없다는 점도 추가되었습니다. – datenwolf

관련 문제