实时3D地形引擎——Chapter6_01——初读

开始深入学习实时3D地形引擎,第六章虽然只有一个实例,但由于涉及的框架复杂,预计需要投入大量时间进行研究。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        坑已经开几天了,就从今天开始吧。书的第六章只有一个例子,而且不长,但实际上这个例子用到的框架也需要阅读,所以估计也要看很久。

class cMyHost:public cGameHost
{
public:
	cMyHost(){};
	~cMyHost(){};

	HRESULT InitDeviceObjects();
	HRESULT RestoreDeviceObjects();
	HRESULT InvalidateDeviceObjects();
	HRESULT DeleteDeviceObjects();
	HRESULT updateScene();
	HRESULT renderScene();
	HRESULT OneTimeSceneInit(); 

    LRESULT MsgProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam );

	cTerrain m_terrainSystem;
	cTexture* m_pHeightMap;

	cRenderMethod* m_pRenderMethod;
	cSurfaceMaterial* m_pSurfaceMaterial;

};

以上就是这章用到的类,可以看到该类继承了cGameHost,所以接下来看看cGameHost类。
class cGameHost : public CD3DApplication, public cSingleton<cGameHost>
{
public:

	// Creators...
    cGameHost();
    ~cGameHost();

	// Mutators...
	const cSystemInfo& systemInfo()const;
	cResourcePoolManager& resourceManager();
	cDisplayManager& displayManager();
	cLightManager& lightManager();

	void setupWorldQuadTree(const cRect3d& worldExtents);

    const D3DPRESENT_PARAMETERS& presentParams()const;  // Parameters for CreateDevice/Reset
    HWND  appWindow()const;            // The main app window
    HWND  focusWindow()const;          // The D3D focus window (usually same as m_hWnd)
    LPDIRECT3D9 d3dInterface()const;
    LPDIRECT3DDEVICE9 d3dDevice()const;   // The D3D rendering device
    const D3DCAPS9& d3dCaps()const;    // Caps for the device
    const D3DSURFACE_DESC& d3dsdBackBuffer()const; // Surface desc of the backbuffer
    const RECT& rcWindowClient()const; // Saved client area size for mode switches
    const TCHAR* windowTitle()const;
    bool hardwareVertexShadersAllowed()const;
    void setActiveCamera(cCamera* pCamera);
    void beginRenderStage(uint8 stage);
    v
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值