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)
 

 

posted @ 2014-06-04 09:36  桃源武陵人  阅读(105)  评论(0编辑  收藏  举报