I 成员函数SetCallback( Callback & callback ) 9
J 成员函数SetRenderingFrequency( RenderingFrequency) 10
K 成员函数auto IsDebuggingEnabled() -> bool 10
L 成员函数auto GetRenderingEngine() -> RenderingEngine * 10
4.2.2 Callback类设计 10
(1) 类图 10
(2) 成员函数设计 11
4.2.3 RenderingEngine类及其子类设计 11
(1) RenderingEngine及其子类类图 12
(2) 成员函数设计 12
A 成员函数auto GetType() -> Type 12
B 成员函数 bool BeginPaint() 12
C 成员函数bool EndPaint() 12
D 成员函数InitializeDisplay( HWND hwnd ) 13
E 成员函数SetSize( int width, int height ) 13
F 成员函数GetD3dDevice 13
G 成员函数GetD3dImmediateContext 13
H GetD2d*系列函数 13
4.2.4 ResourceManager类设计 13
(1) 类图 14
(2) 成员函数设计 14
A 成员函数LoadData 14
B 成员函数LoadBitmapFromFile 14
C 成员函数LoadTextureFromFile 15
4.3 TERRAIN模块设计 15
4.3.1 Terrain类的设计 15
(1) 类图 15
(2) 主要成员函数 16
A 成员函数void Draw( ID3D11DeviceContext * ) 16
B 成员函数void SetHeightMap( HeightMap * ) 16
C 成员函数SetTextureMap( ID3D11ShaderResourceView*, TextureType, float ) 16
4.3.2 MainApplication类的设计 17
(1) 类图 17
(2) 成员函数 17
5 系统实现 17
5.1 PLATFORM抽象类实现 18
5.1.1 解析命令行 18
5.1.2 初始化RenderingEngine 19
5.1.3 创建窗口和初始化RenderingEngine渲染目标 23
5.1.4 执行消息循环 25
5.1.5 转发Windows消息 28
5.2 地形渲染算法的实现 31
5.2.1 Patch网格创建 31
5.2.2 着色器的编写 33
(1) 定点着色器 33
(2) 外壳着色器 34
(3) 域着色器 36
(4) 像素着色器 37
5.3 测试 40
6 结论