OpenGLES(iPhone)如何渲染一个巨大的四边形

发布于 2024-12-20 02:38:41 字数 180 浏览 1 评论 0原文

我需要支持 10,000 x 10,000 像素数量级的巨大四边形的快速渲染。

无论是一般情况还是特定于 iPhone,OpenGLES 是否会自动将纹理绘制剪辑到当前视口?或者我是否需要添加一些代码来将这些顶点修剪到屏幕的大小?

我见过关于优化大量顶点的讨论,但是如果一个非常大的纹理四边形中只有 4 个顶点呢?

I need to support the fast rendering of huge quads in the order of 10,000 x 10,000 pixels.

Either in general or specifically to the iPhone, does OpenGLES clip texture drawing to the current viewport automatically? Or do I need to add some code to trim these vertices down to the size of the screen?

I've seen talk about optimizing for a lot of vertices, but what about only 4 vertices in a very large textured quad?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

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

发布评论

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

评论(1

呆头 2024-12-27 02:38:41

OpenGL 渲染管道 在光栅化之前执行剪切和剔除 - 因此,部分渲染没有每像素成本视口之外的几何体。

如果您知道您的几何图形将始终精确地填充视口,那么您将获得比您向 OpenGL 披露的信息更多的信息,并且理论上可以编写代码以更少的操作获取输出几何图形。在您的情况下,您希望向后工作以投影到世界中并找到位于屏幕边缘的四个点(可能在顶点着色器中)。然而,即使您编写了绝对最佳的解决方案,差异也应该可以忽略不计,因为它不值得额外的代码负担。

The OpenGL rendering pipeline performs clipping and culling before rasterisation — so there's no per-pixel cost for parts of geometry outside of the viewport.

If you know that your geometry will always exactly fill the viewport then you have more information than you've disclosed to OpenGL and could in theory write code to get to your output geometry in fewer operations. In your case, you'd want to work backwards to project into the world and find the four points that go at screen edges, probably in a vertex shader. However the difference should be so negligible, even if you wrote an absolutely optimal solution, as for it not to be worth the extra code burden.

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