#pragma once #include "Mesh.h" #include "Parameters.h" #include "DXTexture.h" class CameraEffects { IDirect3DDevice9* pd3dDevice; IDirect3DTexture9* DisplacementTexture; // texture for simple rendering IDirect3DTexture9* ColorTexture; CDXTexture* FrameBufferTexture; CDXTexture* FrameBufferDepthTexture; UINT m_ScreenWidth; UINT m_ScreenHeight; IDirect3DVertexBuffer9* FullScreenQuad; ID3DXEffect* g_pEffect; ID3DXEffect* g_pPostEffect; Mesh* mesh; Mesh* lightmesh; HRESULT hr; // return codes D3DXMATRIX m_InvWorld; // inverse world matrix public: CModelViewerCamera* camera; //!! Parameters* params; int currentmethod; int currentmesh; D3DXVECTOR3* LightPos; public: CameraEffects(void); ~CameraEffects(void); void OnFrameRender( D3DXMATRIXA16& mView, D3DXMATRIXA16& mProj ); void SetupFilterKernel(); void OnCreateDevice( IDirect3DDevice9* pd3dDevice); void OnDestroyDevice(); void OnResetDevice(D3DSURFACE_DESC* pBackBufferDesc); void OnLostDevice(); void SetWorldViewProj(D3DXMATRIXA16& mWorld, D3DXMATRIXA16& mView, D3DXMATRIXA16& mProj ); void addUiParams(Parameters& p); void changeMesh(int meshid); void CreateBumpMap(bool createMipMaps); };