【发布时间】:2011-05-01 09:22:30
【问题描述】:
在我当前的项目中,我渲染了一系列以网格形式排列的基本立方 3D 模型。这些 3D 瓷砖在游戏中形成了地牢关卡的墙壁,因此它们不是完美的立方体,但我特别注意确保所有边缘对齐并且所有瓷砖都正确。
我对实现高度图变形感兴趣,这似乎需要我手动变形 3D 瓷砖的顶点,首先通过升高或降低一个角,然后通过计算两个角之间的线和根据该线的高度移动所有顶点。看起来很简单。
我当前的问题是:我正在使用 OpenGL,它提供了一种称为 VBO 的优化,它基本上(据我了解)是为了速度而保存在 GPU 内存中的网格的静态副本。我使用 VBO 进行渲染,因为我只使用三个基本模型(L 角、直墙和当它们不在 L 中相遇时连接墙的帽)。如果我必须手动修改模型的顶点,似乎我必须替换每个图块的 VBO 内容,这几乎否定了使用它们的意义。
在我看来,我或许可以使用简单的旋转和平移变换来实现类似的效果,但我不知道如何做到这一点,而不会在瓷砖之间留下空隙。有什么想法吗?
【问题讨论】:
-
这对Game Development StackExchange 站点来说是个好问题。
-
@Firas 现在有什么?这太棒了!感谢您的链接。