cocos2dx 中屏幕尺寸四边形的 glOrtho 参数

发布于 2024-12-02 16:10:12 字数 209 浏览 2 评论 0原文

我正在创建一个 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

小糖芽 2024-12-09 16:10:12

如果使用精灵,您指的是四边形或类似的东西:

调用 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 to glOrtho 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 with glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0) or a sprite of size 2048x2048 with glOrtho(0.0, 2048.0, 0.0, 2048.0, -1.0, 1.0) or whatever you like with the sprite coordinates matching the arguments to glOrtho, it doesn't really matter.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文