【问题标题】:How to change wavefront(.obj) file based on changes made by OpenGL's camera view?如何根据 OpenGL 相机视图所做的更改更改波前(.obj)文件?
【发布时间】:2018-01-08 03:15:52
【问题描述】:

我使用 OpenGL 的鼠标显示器来旋转 3D 模型,然后我想对我的 wavefront(.obj) 文件进行更新,以便下次它可以直接显示我想要的视图。有没有关于如何更新 .obj 文件的想法?

【问题讨论】:

  • 您需要更加具体。首先,鼠标本身不会旋转任何东西。其次,您需要某种投影来将 3d 模型投影到 2d 图像。通常,这是通过相机完成的(您可以使用鼠标控制其参数)。因此,如果不知道您使用什么确切的程序在屏幕上显示模型,就不可能给您任何帮助。如果您有某种相机,为什么不将相机参数存储到文件中而不是修改整个模型?

标签: opengl wavefront


【解决方案1】:

存储当前的 ModelViewProjection 矩阵可能更容易,然后在重新启动程序时加载该矩阵。这会将您的对象移回您想要的位置。

否则,您将对象的每个点乘以 ModelViewProjection 矩阵并存储它。

【讨论】:

  • 嗨 vincent,我已经旋转了我的模型,但是因为我使用 Mipmaps 作为我的纹理,现在我的模型无法正确渲染,你知道解决这个问题的方法吗?谢谢
  • 你有独立于顶点的 UV 坐标吗?您可能需要将与您正在处理的顶点关联的 UV 坐标传递给片段着色器(不乘以 mvp 矩阵)。然后使用您在 sampler2D 调用中传递的 UV 坐标。纹理映射应该独立于顶点位置。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-09-22
  • 1970-01-01
  • 1970-01-01
  • 2016-08-17
  • 2016-10-04
  • 1970-01-01
  • 2020-01-08
相关资源
最近更新 更多