我正在创建一个 2048x2048 的渲染纹理,并在其上渲染一个大小为 2048x2048 的精灵,覆盖整个渲染纹理。glOrtho(..) 的参数是如何计算的?glOrtho((float)-1.0f , (float)1.0f , (float)-1.0f , (float)1.0f, -1, 1) 适用于大小为 1024x768 和 512x512 的精灵。渲染目标的最大分辨率有什么限制?
问问题
649 次
1 回答
0
如果使用精灵,您的意思是四边形或类似的东西:
调用glOrtho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0)
既不能用于 2048x2048 的精灵,也不能用于 1024x768 的精灵,也不能用于 512x512 的精灵。或者更好的是它会起作用,但我相信它不会给出预期的结果。sprite 的坐标和 to 的参数glOrtho
在同一个空间中(不需要是像素)。
要么使用大小为 2x2 的精灵,要么使用大小glOrtho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0)
为 1x1glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0)
的精灵,或者使用大小为 2048x2048 的精灵,glOrtho(0.0, 2048.0, 0.0, 2048.0, -1.0, 1.0)
或者任何你喜欢的精灵坐标与参数匹配glOrtho
,这并不重要。
于 2011-10-13T14:20:32.657 回答