我想使用libgdx的资源加载器加载带有漫反射纹理和法线贴图的3D模型。 据我所知,fbx(和转换后的g3dj / g3db)格式可以包含漫反射纹理,正如我在fbx-conv示例中看到的那样。 (knight.g3db)
如何为其添加法线贴图? 我是否必须为此编写自己的着色器,或者是否有简化方法? (比如漫反射纹理)
答案 0 :(得分:3)
从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