纹理映射有两种方式
Ø 加载一个已创建好的纹理文件,然后再应用该纹理数据。
Ø 另外一种是按顺序逐个计算出纹理内容,即我们首先创建一个“空”纹理,然后再基于一些已定义的参数计算出纹理元的颜色。在地形绘制中,该参数为地形的高度。
该方法首先用 D3DXCreateTexture 创建一个空纹理,然后再将顶层纹理(因为有多层纹理)锁定。至此,开始遍历每个纹理元并对其上色。上色的依据是坐标方格所对应的近似高度。思路是:地形中海拔较低的部分上色为沙滩色,中等海拔的部分上色为绿色的丘陵颜色,高海拔的部分上色为雪山的颜色。我们用坐标方格中左上角顶点的高度值近似表示该方格的整体高度。
为每个纹理元上色后,我们还可以依据太阳光(用方向光模拟)到达纹理元对应的坐标方格时的入射角来调整每个纹理元的明暗度。