菜鸟DirectX之光照与材质

光照

一 先介绍一下光照的类型吧

1 环境光

特点 称它为背景光更合适,只有一个颜色亮度,不会衰减。

2 漫反射

特点 沿着特定的方向传播,碰到障碍物时沿着各个方向反射,和观察者的位置无关

3 镜面反射

特点 当光线碰到障碍物时将严格的沿着另一方向反射

4 自发光

特点 物体自身发的光 不参与光照的计算

二 光源的类型

注意别把光照类型和光源类型混了,光照类型重点是光线的特点,光源类型重点是发光源的特点

1 点光源

特点 太阳就是个点光源,向各个方向发光。

2 平行光源也叫方向光

特点 只有颜色和方向,没有衰减,没有范围

3 聚光灯光源

特点 看过演唱会的都见过照在歌手上的一个圈圈的光了吧,那就是聚光灯。由一个内椎体,一个外锥体组成,从内椎体到外锥体光逐渐减弱


创建光源的函数

首先填充一个结构体D3DLIGHT9 然后调用 SetLight(..)和LightEnable(..)函数即可

 材质 

因为不同材料的物体反射的光会不一样,所以要给物体设置相应的材质,DX才能计算出物体顶点的颜色值(这里还需要设置顶点的法线)

创建材质的函数

材质就填充一个结构体D3DMATERIAL9 在调用一下 SetMaterial就OK了


现在写BLOG就像学生时代记笔记一样,就记个大概流程,哈哈


你可能感兴趣的:(3d游戏开发,c++,directx,游戏编程,direct3d)