#include <RendererTypes.h>
Public Member Functions | |
virtual BOOL | Destroy (void)=0 |
This method destroys this object. | |
virtual BOOL | EnumerateRenderers (void)=0 |
This method creates all possible renderer device. | |
virtual BOOL | FreeEnumerateRenderers (void)=0 |
Frees all renderers enumerated via previous calling EnumerateRenderers() method. | |
virtual DWORD | GetRenderersCount (void) const =0 |
Returns number of created renderer devices created via last calling EnumRenderers() method. | |
virtual const TRendererCaps * | GetRendererCapabilities (DWORD index) const =0 |
This method returns information about capabilities of specified renderer device. | |
virtual TRenderer * | CreateRenderer (void *wnd, DWORD index, DWORD width, DWORD height, DWORD freqs, EnumGraphicFormat backBufferFormat, EnumGraphicFormat depthStencilFormat, BOOL window, BOOL vsync, EnumGraphicVertexShaderVersion vsVersion, EnumGraphicPixelShaderVersion psVersion, BOOL vsDebug, BOOL psDebug)=0 |
Creates renderer device according to capabilities stored inside this class. |
Class must offers all possible types which may be created on system and theirs capabilities. Caller then select specified renderer identified by identificator.
This class may be create only from specialized function that exports renderer from DLL - CreateRendererCreator(void).
When renderer is created no other may be created until old renderer is destroyed. In TRenderer destructor must be secured static variable in TRendererCreator will be set to NULL, which identifies renderer doesn't exists. (This means TRenderer destructor set m_renderer member variable to NULL)
This class may be destroyed only via Release() method which may be called only when renderer is prepared to destroy.
This class is virtual, each renderer type (Direct3D,OpenGL) must implement this class inside DLL. Program choose DLL type and then load function CreateRendererCreator(void) from library to create renderer creator which create renderer device.
Definition at line 2979 of file RendererTypes.h.
|
Creates renderer device according to capabilities stored inside this class. After creating renderer is returned and joined with TRendererCreator object - from this moment no other TRenderer object can be created until created TRenderer object is destroyed. If renderer is already created then method returns pointer to this renderer. If method fail then return NULL.
Referenced by TRendererCreatorHelper::CreateRenderer(). |
|
This method destroys this object. Object may be destroyed only if no renderer is created. TRenderer object must set variable m_renderer inside TRendererCreator to NULL while is destroyed. Methods returns TRUE if object was destroyed, otherwise returns FALSE, because renderer object still exists. Referenced by TRendererCreatorHelper::FreeEnumerateRenderers(). |
|
This method creates all possible renderer device. This method must be called after TRendererCreator object is created. Calling this method automatically destroy previous enumerated renderer devices, if they exists. This method can be called even while renderer is created!!! |
|
Frees all renderers enumerated via previous calling EnumerateRenderers() method.
Referenced by TRendererCreatorHelper::FreeEnumerateRenderers(). |
|
This method returns information about capabilities of specified renderer device. If index is out of range then NULL is returned.
Referenced by TRendererCreatorHelper::FindRenderersHW(), TRendererCreatorHelper::FindRenderersSW(), TRendererCreatorHelper::GetClosestResolution(), and TRendererCreatorHelper::GetRendererCapabilities(). |
|
Returns number of created renderer devices created via last calling EnumRenderers() method.
Referenced by TRendererCreatorHelper::FindRenderersHW(), and TRendererCreatorHelper::FindRenderersSW(). |