Skip to content

Instantly share code, notes, and snippets.

@reima
Created August 17, 2009 13:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save reima/169121 to your computer and use it in GitHub Desktop.
Save reima/169121 to your computer and use it in GitHub Desktop.
#pragma once
#include "DXUT.h"
typedef enum RESOURCE_IDENTIFIER {
RESOURCE_IDENTIFIER_POSITIONS_TEX2D,
RESOURCE_IDENTIFIER_POSITIONS_SRV,
RESOURCE_IDENTIFIER_NORMALS_TEX2D,
RESOURCE_IDENTIFIER_NORMALS_SRV,
RESOURCE_IDENTIFIER_ALBEDO_SRV,
RESOURCE_IDENTIFIER_FRAMEBUFFER_RTV,
RESOURCE_IDENTIFIER_FRAMEBUFFER_SRV,
RESOURCE_IDENTIFIER_DEPTHSTENCIL_TEX2D,
RESOURCE_IDENTIFIER_DEPTHSTENCIL_DSV,
RESOURCE_IDENTIFIER_DEPTHSTENCIL_SRV,
} RESOURCE_IDENTIFIER;
class IModule {
public:
IModule(void) {}
virtual ~IModule(void) = 0 {}
/*
* Direct3D 10 callbacks with default (NOP) implementations
*/
virtual HRESULT OnDeviceCreated(ID3D10Device* pd3dDevice,
const DXGI_SURFACE_DESC* pBackBufferSurfaceDesc) { return S_OK; }
virtual HRESULT OnSwapChainResized(ID3D10Device* pd3dDevice, IDXGISwapChain* pSwapChain,
const DXGI_SURFACE_DESC* pBackBufferSurfaceDesc) { return S_OK; }
virtual void OnFrameRender(ID3D10Device* pd3dDevice, double fTime, float fElapsedTime) {}
virtual void OnSwapChainReleasing(void) {}
virtual void OnDeviceDestroyed(void) {}
/*
* DXUT callbacks with default (NOP) implementations
*/
virtual void OnFrameMove(double fTime, float fElapsedTime) {}
virtual void OnKeyboard(UINT nChar, bool bKeyDown, bool bAltDown) {}
virtual void OnMouse(bool bLeftButtonDown, bool bRightButtonDown, bool bMiddleButtonDown,
bool bSideButton1Down, bool bSideButton2Down, int nMouseWheelDelta,
int xPos, int yPos) {}
virtual LRESULT OnWindowMessage(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam,
bool* pbNoFurtherProcessing) { return 0; }
/*
* Application specific callbacks
*/
virtual HRESULT OnEffectPoolLoaded(ID3D10Device* pd3dDevice, ID3D10EffectPool* pEffectPool) { return S_OK; }
virtual void SetResource(RESOURCE_IDENTIFIER ResourceIdentifier, IUnknown* pResource) {}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment