由于 OpenGL 中使用几何着色器的分层渲染在某些驱动程序/硬件上似乎有点棘手,因此我想用我自己的解决方案替换该功能。这是通过使用大纹理作为渲染目标,例如分辨率为 300²。然后通过渲染纹理中的 100² block 来模拟分层渲染。使用该分辨率,将产生 9 个图 block /层,如下面的模型所示:
问题是;如何使用 OpenGL 做到这一点?据说是在几何着色器的帮助下,一次性将场景渲染到不同的图 block 上。?
最佳答案
没有简单的方法可以做到这一点。您可以使用几何着色器将其组合在一起,但它很可能会很慢,因为您必须执行大量几何实例,然后还使用几何着色器进行顶点着色,因为顶点着色器已退出游戏。
解决问题的基本方法:
关于opengl - 渲染到纹理的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4234387/