请教如何设置材质的Emissive属性。

linyizsh 2003-07-26 11:53:43
我按以下方法,设了之后没有效果,是不是还有其它属性要设定,请哪位老大帮忙说一下。
pd3ddevice->SetRenderState(D3DRS_EMISSIVEMATERIALSOURCE,D3DMCS_MATERIAL);

D3DCOLORVALUE D={1.0,1.0,1.0,1.0};
D3DCOLORVALUE A={1.0,1.0,1.0,1.0};
D3DCOLORVALUE S={1.0,1.0,1.0,1.0};
D3DCOLORVALUE E={1.0,0.0,0.0,0.5};

d3dm.Diffuse=D;
d3dm.Ambient=A;
d3dm.Specular=S;
d3dm.Power=40.0f;
d3dm.Emissive=E;

pd3ddevice->SetMaterial(&d3dm);
...全文
205 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
linyizsh 2003-07-28
  • 打赏
  • 举报
回复
感谢上面的提示,不过还是不行啊,顶点格式如下:
struct MODELBOXVERTEX
{
float x,y,z;
float nx,ny,nz;
float tu,tv;
float tu1,tv1;
};
没有颜色值啊,不管怎么该emissive的值渲染后都没有什么区别。
YangLin1ST 2003-07-28
  • 打赏
  • 举报
回复
不可能吧,仔细检查检查,看看是不是别的地方出了问题
linyizsh 2003-07-28
  • 打赏
  • 举报
回复
非常感谢。我再试试。
寻开心 2003-07-28
  • 打赏
  • 举报
回复
从前面的代码看不到问题。
是不是你的光照强度已经达到了最大,导致你设置的EMISSIVE效果看不到。
这点可以这样尝试:
先把其他光照参数都设置为0,然后只更改EMISSIVE信息,看看是否有反映。
coolvoldo 2003-07-27
  • 打赏
  • 举报
回复
enable light
YangLin1ST 2003-07-27
  • 打赏
  • 举报
回复
Note If either EMISSIVEMATERIALSOURCE option is used, and the vertex color is not provided, the material emissive color is used.

不能有 vertex color
linyizsh 2003-07-27
  • 打赏
  • 举报
回复
light已经设置了,没用。

8,323

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧