我遇到了#34;官方tuto 10 Shader"在Irrlicht 1.8.3中,我修改了这个官方示例以使用我使用插件从Blender导出的着色器:http://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Game_Engine/Export_GLSL
导出的材质只是由简单的漫反射和镜面反射颜色组成,根本不是黑色,但在Irrlicht中它看起来是黑色
以下是Irrlicht SDK中着色器tuto的一部分(我刚刚修改了加载的着色器的名称),假设没有使用CG,并且使用了高级Shader。
case video::EDT_OPENGL:
if (UseHighLevelShaders)
{
if (!UseCgShaders)
{
/**I MODIFIED NAMES OF THE ORIGINAL FRAG VERT FILES BELOW*/
psFileName = "../../media/mat_Material.frag";//opengl.frag";
vsFileName = "../../media/mat_Material.vert";//opengl.vert";
}
else
{
// Use HLSL syntax for Cg
psFileName = "../../media/d3d9.hlsl";
vsFileName = psFileName; // both shaders are in the same file
}
}
else
{
psFileName = "../../media/opengl.psh";
vsFileName = "../../media/opengl.vsh";
}
break;
}
答案 0 :(得分:3)
查看您发布的着色器文件问题很明显:Blender Game Engine使用的制服和Irrlicht使用的制服非常不同(不同的名称,不同的语义)。您不能简单地将任意着色器文件拖放到现有引擎中,并期望它只是"只是"工作。您必须对其进行调整,使其与加载它的主机渲染代码相匹配。