Ogre3d 1.7.x 的 RTShaderSystem的一个BUG
来源:http://www.ogre3d.org/forums/viewtopic.php?f=2&t=63644
表现:使用dx的shader可能会造成程序崩溃。
在文件OgreShaderParameter.cpp 中:
修改两处:
1.
AutoShaderParameter(GpuProgramParameters::ACT_SPOTLIGHT_VIEWPROJ_MATRIX, "spotlight_viewproj_matrix", GCT_MATRIX_4X4), 这行后面添加:
AutoShaderParameter(GpuProgramParameters::ACT_SPOTLIGHT_VIEWPROJ_MATRIX_ARRAY, "spotlight_viewproj_matrix_array", GCT_MATRIX_4X4),
2.
AutoShaderParameter(GpuProgramParameters::ACT_LOD_CAMERA_POSITION_OBJECT_SPACE,
"lod_camera_position_object_space",
GCT_FLOAT3),这行后面添加:
AutoShaderParameter(GpuProgramParameters::ACT_LIGHT_CUSTOM,
"light_custom",GCT_FLOAT1)