#pragma once #include "renderer.h" #include "Object3d.h" class TerrainRenderer : public Renderer { public: TerrainRenderer(void); ~TerrainRenderer(void); virtual void init(); virtual void render(); virtual void OnLostDevice( void* pUserContext ); virtual void OnDestroyDevice( void* pUserContext ); virtual HRESULT OnResetDevice( IDirect3DDevice9* pd3dDevice, const D3DSURFACE_DESC* pBackBufferSurfaceDesc, void* pUserContext ); void setEffect(ID3DXEffect* effect); virtual bool isLowerThan(Renderer* renderer); private: ID3DXEffect* TerrainEffect; D3DXHANDLE ShaderTechHandle; D3DXHANDLE ShaderTechHandleRay; D3DXHANDLE ShaderTechHandleDepth; D3DXHANDLE WorldViewProjectionHandle; D3DXHANDLE WorldViewHandle; D3DXHANDLE FarPlaneMinusNearPlaneHandle; D3DXMATRIX worldViewMat; D3DXMATRIX worldViewProjMat; };