D3D学习笔记(四)

来源:互联网 发布:淘宝质量认证防爆图片 编辑:程序博客网 时间:2024/05/18 02:44

光照

光照可分为环境光,漫射光,镜面光三种

三种颜色的光均可用D3DECOLORVALUE或D3DXCOLOR来表示,描述光线的颜色时,D3DXCOLOR中的Alpha值将被忽略

材质

材质可用结构D3DMATERIAL9来表示

typedef struct D3DMATERIAL9{

D3DCOLORVALUE Diffuse;

D3DCOLORVALUE Ambient;

D3DCOLORVALUE Specular;

float Power;

}D3DMATERIAL9,*LPD3DMATERIAL9;

Diffuse 指定材质对漫射光的反射率

Ambient 指定对环境光的反射率

Specular指定材质对镜面光的反射率

Emissive 该分量用于增强物体的亮度

Power指定镜面高光点的锐度

顶点法线

顶点法线描述构成多边形的各个顶点的法线

D3D需要知道顶点的法线方向来去顶光线到达表面时的入射角

光源

在程序中,光源用结构体D3DLIGHT9来表示

typedef struct D3DLIGHT9{

D3DLIGHTTYPE Type;//要创建的光源的类型

D3DCOLORVALUE Diffuse;//该光源的漫发射光的颜色

D3DCOLORVALUE Specular;//该光源的镜面光的颜色

D3DCOLORVALUE Ambient;//该光源的环境光的颜色

D3DVECTOR Position;//用于描述光源在世界坐标系中的位置,对于方向光,该参数无意义

D3DVECTOR Direction;//描述光在世界坐标系中的传播方向,对于方向光,无意义

float Range;//描述光在消失前所能达到的最大光程,对于方向光,无意义

float Falloff;//该值用于聚光灯,该参数定义了光强从内锥形到外锥形的衰减方式

float Attenuation0;

float Attenuation1;

float Attenuation2;//用于计算衰减的参数

float Theta;//仅用于聚光灯。指定了内部锥型的圆锥角

float Phi;//仅用于聚光灯。指定了外部锥形的圆锥角

}D3DLIGHT9,*LPD3DLIGHT;


0 0