放大和缩小是使用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 ES
- 3. 在OpenGL中放大/缩小和绘画
- 4. 的OpenGL ES FBO缩放
- 5. 放大/缩小OpenGL ES 2D游戏场景
- 6. 使用OpenGL ES缩放和滑动
- 7. OpenGL ES 2.0的捏和缩放
- 8. OpenGL es放大到touchPoint(iOS)
- 9. OpenGL ES画布大小
- 10. 放大和缩小
- 11. OpenGL放大/缩小鼠标/键盘
- 12. OpenGL Es 2纹理缩放问题
- 13. OpenGL ES像素艺术 - 缩放
- 14. OpenGL ES 2.0缩放不起作用
- 15. 缩放OpenGL ES的帧缓冲区的
- 16. 如何在Android OpenGL ES中应用拖放和缩放比例
- 17. 在OpengGL中放大/缩小和移动对象Es
- 18. 如何设置缩小放大和缩小放大缩小尺寸?
- 19. facet_wrap和缩放点大小
- 20. 放大和缩小点
- 21. 放大和缩小Direct3D
- 22. 放大和缩小为UIImage
- 23. 放大和缩小UIView
- 24. 放大和缩小在IOS
- 25. 放大和缩小画布
- 26. 放大和缩小计算
- 27. 放大和缩小按钮
- 28. 放大和缩小Pygame
- 29. 放大和缩小mschart scalling
- 30. OpenGL - 缩小和扩大球面