cocos2dx 中屏幕尺寸四边形的 glOrtho 参数
我正在创建一个 2048x2048 的渲染纹理,并在其上渲染一个大小为 2048x2048 的精灵,覆盖整个渲染纹理。 glOrtho(..) 的参数是如何计算的? glOrtho((float)-1.0f , (float)1.0f , (float)-1.0f , (float)1.0f, -1, 1) 适用于尺寸为 1024x768 和 512x512 的精灵。 渲染目标的最大分辨率有什么限制?
I am creating a render texture of 2048x2048 and rendering a sprite of size 2048x2048 over it covering the whole render texture. How is the parameters for glOrtho(..) calculated?
glOrtho((float)-1.0f , (float)1.0f , (float)-1.0f , (float)1.0f, -1, 1) works for sprite of size 1024x768 and also 512x512.
What is the limitation on the max resolution of the render target?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果使用精灵,您指的是四边形或类似的东西:
调用
glOrtho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0)
既不适用于 2048x2048 的精灵,也不适用于 1尺寸为 1024x768 的也不是尺寸为 512x512 的。或者更好,它会起作用,但我确信它不会给出预期的结果。精灵的坐标和glOrtho
的参数位于同一空间(不需要是像素)。使用
glOrtho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0)
大小为 2x2 的精灵,或使用glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0)
或大小为 sprite 2048x2048 和glOrtho(0.0, 2048.0, 0.0, 2048.0, -1.0, 1.0)
或任何你喜欢的精灵坐标与glOrtho
的参数匹配,它实际上并不事情。In case with sprite you mean a quad or something the like:
A call to
glOrtho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0)
will neither work with a sprite of 2048x2048 nor one of size 1024x768 nor one of size 512x512. Or better it will work, but I'm sure it won't give the intended results. The coordinates of the sprite and the arguments toglOrtho
are in the same space (which doesn't need to be pixels).Either use a sprite of size 2x2 with
glOrtho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0)
or a sprite of size 1x1 withglOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0)
or a sprite of size 2048x2048 withglOrtho(0.0, 2048.0, 0.0, 2048.0, -1.0, 1.0)
or whatever you like with the sprite coordinates matching the arguments toglOrtho
, it doesn't really matter.