확대 또는 축소하려면 glOrtho 또는 glScale을 사용하는 것이 가장 좋습니다.OpenGL ES 확대/축소
1
A
답변
2
정말로 당신이 확대라고 부르는 것에 달려 있습니다.
전형적인 카메라 설정 (예 : 원근법에서 얻음)에서는 실제 카메라처럼 시야를 줄임으로써 줌이 이루어집니다. 시야에서 표준 투시 행렬까지의 실제 수학은 gluPerspective의 설명서를 참조하십시오.
glOrtho는 원근 카메라를 생성하지 않으므로 표준 확대/축소를 실제로 모방하지 않습니다. 그림의 2D 줌과 비슷합니다 (현재 glOrtho를 사용하고 있습니까? 장면을 3D로 보지 못했습니까?)
1
glOr를 사용하여 병렬 투영을 설정 한 경우 매개 변수를 glOrth로 변경하거나 glScale을 사용하여 확대/축소 할 수 있습니다.
왼쪽/오른쪽/위쪽/아래쪽 평면을 다시 계산하지 않고 20 % 확대/축소를 1.2로 설정하는 것이 더 쉽기 때문에 glScale을 사용하는 경향이 있습니다.
나는 그것이 "모범 사례"라고 주장하지는 않습니다.
0
일반적으로 투영 행렬을 설정하는 데 glOrth가 사용됩니다. glScale은 일반적으로 다양한 다른 변환과 함께 모델 - 뷰 행렬을 설정할 때 사용됩니다.
대부분의 개발자는 처음 시작할 때 또는 창의 크기가 조정될 때만 프로젝션 매트릭스를 설정합니다. "확대/축소"는 매 프레임마다 행렬을 변경한다는 것을 의미하므로 모델보기에 속해야하는 것처럼 보입니다.
요약 : 모델 뷰를 확대하고 glScale을 사용하십시오.
관련 문제
- 1. OpenGL 또는 OpenGL ES
- 2. OpenGL ES 1.1에서 OpenGL ES 2.0으로 전환
- 3. OpenGL-ES 로의 OpenGL - glBegin();
- 4. OpenGL ES 비동기 텍스처로드
- 5. OpenGL ES iPhone Textures
- 6. OpenGL ES 인스트루먼트의 정확성
- 7. 데스크탑 PC의 OpenGL | ES
- 8. 조명 및 OpenGL ES
- 9. OpenGL ES 기능
- 10. OpenGL ES 기능
- 11. OpenGL-ES and Cg
- 12. 캔버스 또는 OpenGL ES?
- 13. OpenGL ES 캔버스 크기
- 14. OpenGL ES 텍스처 메모리
- 15. OpenGL ES 깊이 버퍼
- 16. OpenGL ES 및 texcoord
- 17. OpenGL ES 2.0 텍스처링
- 18. 아이폰 시뮬레이터의 OpenGL ES
- 19. quaternions for OpenGL ES
- 20. OpenGL ES 클리핑 객체
- 21. iPhone OpenGL-ES : UISwipeGestureRecognizer
- 22. OpenGL ES 텍스처 렌더링
- 23. OpenGL ES GL_TEXTURE_RECTANGLE
- 24. OpenGL ES 2.0과 OpenGL 4의 차이점
- 25. OpenGL vs OpenGL ES (GLchar 이상)
- 26. OpenGL ES : 변환을 비활성화 하시겠습니까?
- 27. OpenGL ES 2.0 멀티 스레드
- 28. OpenGL ES 텍스처에서 잘라 내기
- 29. OpenGl ES iPhone, 이상한 라인
- 30. OpenGL ES : 텍스처의 정점 수