【问题标题】:Augmented Reallity - how to render texture after replacing teapot object in ios增强现实 - 如何在 ios 中替换茶壶对象后渲染纹理
【发布时间】:2013-09-28 11:15:26
【问题描述】:

我是 ios 开发人员,在 iPhone 上开发 AR。自定义 vuforia SDK 以替换茶壶对象。 直到现在能够用另一个 3d .obj 模型替换茶壶。我使用过家具模型但是我怎样才能获得该家具(.png)文件的纹理,例如示例代码文件中的 TextureTeapotBlue.png。 我做了很多类似的事情:

  1. 使用 3d max:渲染到纹理属性以将对象烘焙到其 png 纹理文件。但结果不正确。
  2. 将 .mtl 文件转换为 .h 文件,但不消耗 png/tga 文件。
  3. 最后我找到了链接:https://developer.vuforia.com/forum/qcar-api/texture-problem-imagetargets-when-changing-model

该链接包含找到的解决方案
“我找到了问题,这太棘手了......事实上,像blender,3DSMax这样的软件,不要使用相同的坐标系(U,V for纹理映射)就像OpenGL ES一样...... OpenGL ES 使用一个搅拌器使用的镜像。所以我必须通过应用水平镜像变换来变换纹理。---By Allan"

这里不理解“水平镜像变换”并生成它。

给我正确的方向以在我的 3d 对象上正确渲染纹理图像。

【问题讨论】:

  • 有的话给我。不需要你的负面评论。

标签: ios opengl-es augmented-reality autocad vuforia


【解决方案1】:

我认为“水平镜像变换”只是说纹理坐标需要交换的一种奇特方式。因此,例如,如果四边形的纹理坐标是:

GLfloat TexCoords[] =
{
    0.0f, 1.0f,
    1.0f, 1.0f,
    1.0f, 0.0f,
    0.0f, 0.0f
};

然后,只需像这样交换垂直值即可镜像图像:

GLfloat MirroredTexCoords[] =
{
    0.0f, 0.0f,
    1.0f, 0.0f,
    1.0f, 1.0f,
    0.0f, 1.0f
};

【讨论】:

  • 感谢重播 ClayMontgomery.. 我没有与 3d 模型、对象相关的问题。发送渲染纹理时的问题。而且我认为纹理和 3d 对象大小可能存在一些比例。
猜你喜欢
  • 2015-07-29
  • 1970-01-01
  • 1970-01-01
  • 2016-12-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-18
相关资源
最近更新 更多