【问题标题】:Mesh deformation and VBOs网格变形和 VBO
【发布时间】:2011-05-01 09:22:30
【问题描述】:

在我当前的项目中,我渲染了一系列以网格形式排列的基本立方 3D 模型。这些 3D 瓷砖在游戏中形成了地牢关卡的墙壁,因此它们不是完美的立方体,但我特别注意确保所有边缘对齐并且所有瓷砖都正确。

我对实现高度图变形感兴趣,这似乎需要我手动变形 3D 瓷砖的顶点,首先通过升高或降低一个角,然后通过计算两个角之间的线和根据该线的高度移动所有顶点。看起来很简单。

我当前的问题是:我正在使用 OpenGL,它提供了一种称为 VBO 的优化,它基本上(据我了解)是为了速度而保存在 GPU 内存中的网格的静态副本。我使用 VBO 进行渲染,因为我只使用三个基本模型(L 角、直墙和当它们不在 L 中相遇时连接墙的帽)。如果我必须手动修改模型的顶点,似乎我必须替换每个图块的 VBO 内容,这几乎否定了使用它们的意义。

在我看来,我或许可以使用简单的旋转和平移变换来实现类似的效果,但我不知道如何做到这一点,而不会在瓷砖之间留下空隙。有什么想法吗?

【问题讨论】:

  • 这对Game Development StackExchange 站点来说是个好问题。
  • @Firas 现在有什么?这太棒了!感谢您的链接。

标签: opengl 3d vbo


【解决方案1】:

您可以在 GPU 上使用顶点程序。主要困难(如果我正确理解您的问题的话)是顶点程序必须依赖全局或每个顶点参数,并且每个参数的可用空间量是严格有限的。

没有更多细节,我只能建议你如何设置参数要聪明......

【讨论】:

  • 非常好的解决方案。我在多个平台上工作,并不是所有平台都可以使用顶点程序,但没有它们,它只是意味着一个平面地图......这没什么大不了的,不像手动置换顶点所涉及的 FPS 损失.
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-25
  • 2011-08-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多