D3D中材质通过D3DMATERIAL9结构说明

光照的两大要素是光源和物体的材质,物体表面材质属性决定了它能反射什么颜色的光线以及反射多少光线。

一、Direct3D中材质的定义

D3D中材质通过D3DMATERIAL9结构来表示:

typedef struct D3DMATERIAL9 {
    D3DCOLORVALUE Diffuse;
    D3DCOLORVALUE Ambient;
    D3DCOLORVALUE Specular;
    D3DCOLORVALUE Emissive;
    float Power;
} D3DMATERIAL9, *LPD3DMATERIAL9;
Diffuse-指定表面反射的漫反射光。
Ambient-指定表面反射的环境光。
Specular-指定表面反射的镜面光。
Emissive-表面本身自发光。
Power -镜面高光,它的值是高光的锐利值,该值越大表示高光强度与周围亮度相差越大。
表面顶点的颜色亮度总和为:

D3D中材质通过D3DMATERIAL9结构说明

I表示物体的颜色值,上式表示物体的颜色总和=物体反射环境光+物体反射漫反射光+物体反射镜面反射光+自发光。

二、材质的应用

函数IDirect3DDevice9::SetMaterial()设置Direct3D当前的材质属性:

HRESULT SetMaterial(
CONST D3DMATERIAL9* pMaterial
);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值