【发布时间】:2013-12-03 03:31:06
【问题描述】:
我想使用 libgdx 的资源加载器加载具有漫反射纹理和法线贴图的 3D 模型。 据我所知,fbx(和转换后的 g3dj/g3db)格式可以包含漫反射纹理,正如我在 fbx-conv 示例中看到的那样。 (knight.g3db)
如何向它添加法线贴图纹理? 我是否必须为此编写自己的着色器,或者是否有简化的方法? (比如漫反射纹理)
【问题讨论】:
我想使用 libgdx 的资源加载器加载具有漫反射纹理和法线贴图的 3D 模型。 据我所知,fbx(和转换后的 g3dj/g3db)格式可以包含漫反射纹理,正如我在 fbx-conv 示例中看到的那样。 (knight.g3db)
如何向它添加法线贴图纹理? 我是否必须为此编写自己的着色器,或者是否有简化的方法? (比如漫反射纹理)
【问题讨论】:
从 FBX 一直到 DefaultShader 类都支持法线贴图。因此,如果您的模型(FBX 文件)包含法线贴图,它应该在您的着色器中可用。但是默认着色器(GLSL 文件)不支持法线贴图。所以你必须编写自己的着色器。这些测试包含一些关于法线贴图 (ShaderCollectionTest) 的示例,尽管可能有点难以阅读。
统一的名字是u_normalTexture,在这里设置:https://github.com/libgdx/libgdx/blob/master/gdx/src/com/badlogic/gdx/graphics/g3d/shaders/DefaultShader.java#L228
【讨论】: