RenderWare中修改模型的材质颜色

设置atomic为某种颜色:

  设置geometry标志,flag & (~rpGEOMETRYTEXTURED) | rpGEOMETRYMODULATEMATERIALCOLOR。然后设置每个metrial color为该颜色。

注意geometry共用的情况。

Geometry设置颜色和恢复的方法

设置颜色      RpGeometrySetFlags( pGeomegry, RpGeometryGetFlags(pGeomegry) & (~rpGEOMETRYTEXTURED) | rpGEOMETRYMODULATEMATERIALCOLOR );

     for ( int i = RpGeometryGetNumMaterials(pGeomegry); i―― > 0; )

     {

         pMaterial = RpGeometryGetMaterial( pGeomegry, i );

         //这里保存Material的原来颜色

         RpMaterialSetColor( pMaterial, pNewColor );

     }

 

恢复颜色      RpGeometrySetFlags( pGeomegry, RpGeometryGetFlags(pGeomegry) | rpGEOMETRYTEXTURED & (~rpGEOMETRYMODULATEMATERIALCOLOR) );

然后把设置颜色过程中存储的原颜色恢复回去

不过因为Geometry有的时候是共用的,所以需要复制一份出来,否则会影响到其它角色。




阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Unknowm/article/details/809714
文章标签: 存储
个人分类: RenderWare
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

RenderWare中修改模型的材质颜色

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭