放大和缩小是使用glOrtho还是glScale的最佳实践?放大和缩小OpenGl ES
1
A
回答
2
这真的取决于你所说的缩放。
在典型的照相机设置中(例如,从视角获得),通过减小视场(就像在真实照相机上一样!)来实现变焦。请参阅gluPerspective的文档以了解从视场到标准透视矩阵的实际数学运算。
glOrtho不会生成透视相机,因此您并不真正模拟标准缩放。它看起来更像是图片的2-D缩放(您目前使用glOrtho吗?它不是3D渲染,是吗?)
1
如果您已经设置了glOrtho的平行投影,那么您可以通过将参数更改为glOrtho或使用glScale来放大和缩小。
我倾向于使用glScale,因为通过缩放1.2而不是重新计算左/右/上/下平面来设置20%缩放比较容易。
虽然我不认为这是“最佳实践”。
0
glOrtho通常用于设置投影矩阵; glScale通常用于设置模型视图矩阵以及其他各种变换。
大多数开发人员仅在每天开始或调整窗口大小时设置投影矩阵。 “缩放”意味着每帧都会改变矩阵,所以它看起来应该属于模型视图。
总结:放大模型视图并使用glScale。
相关问题
- 1. 放大/缩小OpenGL ES
- 2. 在OpenGL中放大/缩小和绘画
- 3. 的OpenGL ES FBO缩放
- 4. 放大/缩小OpenGL ES 2D游戏场景
- 5. 使用OpenGL ES缩放和滑动
- 6. OpenGL ES 2.0的捏和缩放
- 7. OpenGL es放大到touchPoint(iOS)
- 8. OpenGL ES画布大小
- 9. 放大和缩小
- 10. 缩放OpenGL ES的帧缓冲区的
- 11. OpenGL Es 2纹理缩放问题
- 12. OpenGL ES 2.0缩放不起作用
- 13. 如何在Android OpenGL ES中应用拖放和缩放比例
- 14. 如何设置缩小放大和缩小放大缩小尺寸?
- 15. 放大和缩小UIView
- 16. 放大和缩小画布
- 17. 放大和缩小计算
- 18. 放大和缩小Direct3D
- 19. 放大和缩小在IOS
- 20. 如何使用opengl进行放大和缩小?
- 21. 在OpenGL ES 2.0中进行缩放和旋转
- 22. UIPinchGestureRecognizer(缩小/放大)
- 23. 混合OpenGL ES 1和OpenGL ES 2
- 24. SCROLLVIEW最小缩放大小
- 25. Opengl ES和texcoord
- 26. ImageView缩放不放大或缩小
- 27. Opengl ES 2.0:获取纹理大小和其他信息
- 28. 放大和缩小在Java中
- 29. ZedGraph缩放和调整大小
- 30. 捏放大图像和缩小图像