《OpenGL Shader 地形编程目录》

地形网格

地形网格的描述

地形网格信息的初始化

地形网格的顶点计算

地形网格的顶点传送到着色器中使用

地形网格与高度图

描述高度图的信息

读取高度图信息

保存高度信息

根据地形顶点信息获取对应的高度值

地形平滑处理

寻找符合条件的高度信息

对符合条件的高度信息进行平滑计算

保存地形平滑计算的结果

把平滑处理后的信息应用到地形中

地形纹理坐标计算与绘画

地形子网络纹理坐标的计算

地形纹理坐标的存储

地形纹理坐标传递到着色器中使用

在着色器中使用地形纹理

摄像机移动

描述摄像机的信息

产生观察与投影矩阵

根据键盘按键控制摄像机移动

把观察与投影矩阵传递到着色器中

地形引擎

地形引擎信息的描述

地形引擎信息的初始化

地形引擎顶点的设置与缓冲区

地形引擎顶点与着色器的关联。

地形引擎绘画地形

地形引擎应用多张高度图

读取并保存不同高度图信息

根据不同的高度图进行平滑处理

根据不同的高度图设置地形网格

绘画不同高度图的地形网格

地形引擎应用多张纹理图

读取并保存不同纹理图信息

不同纹理图应用到不同的地形网格

不同纹理图传递到着色器中使用

绘画不同地形网格的纹理图

地形引擎中的高度光照

根据地形的高度计算光照数据

保存光照数据并写入缓冲区

把光照数据传递到着色器中

在着色器中处理光照计算。

地形引擎中的斜坡光照

光照的位置与方向

根据光照方向获取顶点的高度值

计算光照范围内的亮度值

设置光照范围外的亮度值

地形引擎中的顶点索引值

计算每个地形网格的顶点数量

计算每个地形网格的顶点索引值数量

设置每个地形网格的顶点索引值

重新计算顶点各属性的大小

地形引擎中的子纹理

什么是子纹理

计算子纹理的行列号

计算子纹理的坐标

保存并应用子纹理坐标