#include <KeosD3D9RenderSystem.h>
Inheritance diagram for Keos::CD3D9RenderSystem:

Public Member Functions | |
| CD3D9RenderSystem () | |
| Constructor. | |
| ~CD3D9RenderSystem () | |
| Destructor. | |
| const String & | GetName (void) const |
| See RenderSystem. | |
| virtual IRenderWindow * | Initialise (bool bAutoCreateWindow, const String &strWindowTitle="KEOS Render Window") |
| See IRenderSystem. | |
| virtual IRenderWindow * | CreateRenderWindow (const String &strName, uint nWidth, uint nHeight, uint nColourDepth, bool bFullScreen) |
| See IRenderSystem. | |
| virtual void | Reinitialise (void) |
| See IRenderSystem. | |
| virtual void | Shutdown (void) |
| See IRenderSystem. | |
| virtual void | BeginScene (void) const |
| Start a scene render. | |
| virtual void | EndScene (void) const |
| End a scene render. | |
| virtual void | PrintInfo (void) const |
| Print information on the API. | |
| virtual IBufferBase * | _CreateVB (ulong nSize, ulong nStride, ulong nFlags) const |
| See IRenderSystem. | |
| virtual IBufferBase * | _CreateIB (ulong nSize, ulong nStride, ulong nFlags) const |
| See IRenderSystem. | |
| virtual IDeclaration * | CreateDeclaration (const TDeclarationElement *pElements, size_t nCount) const |
| See IRenderSystem. | |
| virtual void | _SetVB (uint nStream, const IBufferBase *pBuffer, ulong nStride, ulong nMinVertex, ulong nMaxVertex) |
| See IRenderSystem. | |
| virtual void | _SetIB (const IBufferBase *pBuffer, ulong nStride) |
| See IRenderSystem. | |
| virtual void | SetDeclaration (const IDeclaration *pDeclaration) |
| See IRenderSystem. | |
| virtual void | DrawPrimitives (TPrimitiveType Type, ulong nFirstVertex, ulong nCount) const |
| See IRenderSystem. | |
| virtual void | DrawIndexedPrimitives (TPrimitiveType Type, ulong nFirstIndex, ulong nCount) const |
| See IRenderSystem. | |
| virtual void | PushMatrix (TMatrixType Type) |
| See IRenderSystem. | |
| virtual void | PopMatrix (TMatrixType Type) |
| See IRenderSystem. | |
| virtual void | LoadMatrix (TMatrixType Type, const CMatrix4 &Matrix) |
| See IRenderSystem. | |
| virtual void | LoadMatrixMult (TMatrixType Type, const CMatrix4 &Matrix) |
| See IRenderSystem. | |
| virtual void | GetMatrix (TMatrixType Type, CMatrix4 &Matrix) const |
| See IRenderSystem. | |
| virtual ulong | ConvertColor (const CColor &Color) const |
| See IRenderSystem. | |
| virtual ITextureBase * | CreateTexture (const TVector2I &Size, TPixelFormat Format, ulong nFlags=0) const |
| See IRenderSystem. | |
| virtual void | SetTexture (uint nUnit, const ITextureBase *pTexture) const |
| See IRenderSystem. | |
| virtual void | SetupAlphaBlending (TBlend Src, TBlend Dest) const |
| See IRenderSystem. | |
| virtual void | SetupTextureUnit (uint nUnit, TTextureOp Op, TTextureArg Arg1, TTextureArg Arg2=TXA_DIFFUSE, const CColor &Constant=0x00) const |
| See IRenderSystem. | |
| virtual void | Enable (TRenderParameter Param, bool bValue) const |
| See IRenderSystem. | |
| virtual IShaderBase * | CreateShader (CGprogram Program, TShaderType Type) const |
| See IRenderSystem. | |
| virtual void | SetVertexShader (const IShaderBase *pShader) |
| See IRenderSystem. | |
| virtual void | SetPixelShader (const IShaderBase *pShader) |
| See IRenderSystem. | |
| virtual void | SetClearColor (const CColor &Color) |
| See IRenderSystem. | |
| virtual void | SetLight (uint nIndex, CLight *pLight) |
| See IRenderSystem. | |
| virtual void | SetFillMode (TFillMode Mode) |
| See IRenderSystem. | |
| void | RestoreLostDevice (void) |
| D3D specific method to restore a lost device. | |
| bool | IsDeviceLost (void) |
| D3D specific method to return whether the device has been lost. | |
| void | _NotifyDeviceLost (void) |
| Notify that a device has been lost. | |
Definition at line 38 of file KeosD3D9RenderSystem.h.
| Keos::CD3D9RenderSystem::CD3D9RenderSystem | ( | ) |
Constructor.
Definition at line 45 of file KeosD3D9RenderSystem.cpp.
References D3D9_EXCEPT, and Keos::CD3D9::pD3D.
| Keos::CD3D9RenderSystem::~CD3D9RenderSystem | ( | ) |
| const String & Keos::CD3D9RenderSystem::GetName | ( | void | ) | const [virtual] |
See RenderSystem.
Implements Keos::IRenderSystem.
Definition at line 72 of file KeosD3D9RenderSystem.cpp.
| IRenderWindow * Keos::CD3D9RenderSystem::Initialise | ( | bool | bAutoCreateWindow, | |
| const String & | strWindowTitle = "KEOS Render Window" | |||
| ) | [virtual] |
See IRenderSystem.
Reimplemented from Keos::IRenderSystem.
Definition at line 79 of file KeosD3D9RenderSystem.cpp.
References CreateRenderWindow(), D3D9_EXCEPT, Keos::ILogger::Log(), Keos::IRenderSystem::m_Options, Keos::CStringConverter::ParseBool(), and Keos::CStringConverter::ParseUnsignedInt().
Referenced by Reinitialise().
| IRenderWindow * Keos::CD3D9RenderSystem::CreateRenderWindow | ( | const String & | strName, | |
| uint | nWidth, | |||
| uint | nHeight, | |||
| uint | nColourDepth, | |||
| bool | bFullScreen | |||
| ) | [virtual] |
See IRenderSystem.
Implements Keos::IRenderSystem.
Definition at line 127 of file KeosD3D9RenderSystem.cpp.
References Keos::IRenderSystem::AttachRenderTarget(), Keos::CColor::Black, Keos::IRenderWindow::Create(), Keos::ILogger::Log(), Keos::CD3D9::pD3DDevice, and SetClearColor().
Referenced by Initialise().
| void Keos::CD3D9RenderSystem::Reinitialise | ( | void | ) | [virtual] |
See IRenderSystem.
Implements Keos::IRenderSystem.
Definition at line 113 of file KeosD3D9RenderSystem.cpp.
References Initialise(), and Shutdown().
| void Keos::CD3D9RenderSystem::Shutdown | ( | void | ) | [virtual] |
See IRenderSystem.
Reimplemented from Keos::IRenderSystem.
Definition at line 120 of file KeosD3D9RenderSystem.cpp.
References Keos::CD3D9::ReleaseDevice(), and Keos::IRenderSystem::Shutdown().
Referenced by Reinitialise(), and ~CD3D9RenderSystem().
| void Keos::CD3D9RenderSystem::BeginScene | ( | void | ) | const [virtual] |
Start a scene render.
Implements Keos::IRenderSystem.
Definition at line 362 of file KeosD3D9RenderSystem.cpp.
References Keos::IRenderSystem::m_ClearColor, Keos::CD3D9::pD3DDevice, and Keos::CColor::ToRGBA().
| void Keos::CD3D9RenderSystem::EndScene | ( | void | ) | const [virtual] |
End a scene render.
Implements Keos::IRenderSystem.
Definition at line 369 of file KeosD3D9RenderSystem.cpp.
References Keos::CD3D9::pD3DDevice.
| void Keos::CD3D9RenderSystem::PrintInfo | ( | void | ) | const [virtual] |
Print information on the API.
Implements Keos::IRenderSystem.
Definition at line 375 of file KeosD3D9RenderSystem.cpp.
| IBufferBase * Keos::CD3D9RenderSystem::_CreateVB | ( | ulong | nSize, | |
| ulong | nStride, | |||
| ulong | nFlags | |||
| ) | const [virtual] |
See IRenderSystem.
Implements Keos::IRenderSystem.
Definition at line 381 of file KeosD3D9RenderSystem.cpp.
References Keos::CD3D9Enum::BufferFlags(), D3D9_EXCEPT, and Keos::CD3D9::pD3DDevice.
| IBufferBase * Keos::CD3D9RenderSystem::_CreateIB | ( | ulong | nSize, | |
| ulong | nStride, | |||
| ulong | nFlags | |||
| ) | const [virtual] |
See IRenderSystem.
Implements Keos::IRenderSystem.
Definition at line 392 of file KeosD3D9RenderSystem.cpp.
References Keos::CD3D9Enum::BufferFlags(), D3D9_EXCEPT, and Keos::CD3D9::pD3DDevice.
| IDeclaration * Keos::CD3D9RenderSystem::CreateDeclaration | ( | const TDeclarationElement * | pElements, | |
| size_t | nCount | |||
| ) | const [virtual] |
See IRenderSystem.
Implements Keos::IRenderSystem.
Definition at line 403 of file KeosD3D9RenderSystem.cpp.
References Keos::ELT_TYPE_COLOR, Keos::ELT_TYPE_FLOAT1, Keos::ELT_TYPE_FLOAT2, Keos::ELT_TYPE_FLOAT3, Keos::ELT_TYPE_FLOAT4, Keos::ELT_USAGE_DIFFUSE, Keos::ELT_USAGE_NORMAL, Keos::ELT_USAGE_POSITION, Keos::ELT_USAGE_TEXCOORD0, Keos::ELT_USAGE_TEXCOORD1, Keos::ELT_USAGE_TEXCOORD2, and Keos::ELT_USAGE_TEXCOORD3.
| void Keos::CD3D9RenderSystem::_SetVB | ( | uint | nStream, | |
| const IBufferBase * | pBuffer, | |||
| ulong | nStride, | |||
| ulong | nMinVertex, | |||
| ulong | nMaxVertex | |||
| ) | [virtual] |
See IRenderSystem.
Implements Keos::IRenderSystem.
Definition at line 494 of file KeosD3D9RenderSystem.cpp.
References Keos::CD3D9Buffer< T >::GetBuffer(), and Keos::CD3D9::pD3DDevice.
| void Keos::CD3D9RenderSystem::_SetIB | ( | const IBufferBase * | pBuffer, | |
| ulong | nStride | |||
| ) | [virtual] |
See IRenderSystem.
Implements Keos::IRenderSystem.
Definition at line 508 of file KeosD3D9RenderSystem.cpp.
References Keos::CD3D9Buffer< T >::GetBuffer(), and Keos::CD3D9::pD3DDevice.
| void Keos::CD3D9RenderSystem::SetDeclaration | ( | const IDeclaration * | pDeclaration | ) | [virtual] |
See IRenderSystem.
Implements Keos::IRenderSystem.
Definition at line 518 of file KeosD3D9RenderSystem.cpp.
References Keos::CD3D9Declaration::GetDeclaration(), and Keos::CD3D9::pD3DDevice.
| void Keos::CD3D9RenderSystem::DrawPrimitives | ( | TPrimitiveType | Type, | |
| ulong | nFirstVertex, | |||
| ulong | nCount | |||
| ) | const [virtual] |
See IRenderSystem.
Implements Keos::IRenderSystem.
Definition at line 528 of file KeosD3D9RenderSystem.cpp.
References Keos::CD3D9Enum::Get(), and Keos::CD3D9::pD3DDevice.
| void Keos::CD3D9RenderSystem::DrawIndexedPrimitives | ( | TPrimitiveType | Type, | |
| ulong | nFirstIndex, | |||
| ulong | nCount | |||
| ) | const [virtual] |
See IRenderSystem.
Implements Keos::IRenderSystem.
Definition at line 534 of file KeosD3D9RenderSystem.cpp.
References Keos::CD3D9Enum::Get(), and Keos::CD3D9::pD3DDevice.
| void Keos::CD3D9RenderSystem::PushMatrix | ( | TMatrixType | Type | ) | [virtual] |
See IRenderSystem.
Implements Keos::IRenderSystem.
Definition at line 540 of file KeosD3D9RenderSystem.cpp.
| void Keos::CD3D9RenderSystem::PopMatrix | ( | TMatrixType | Type | ) | [virtual] |
See IRenderSystem.
Implements Keos::IRenderSystem.
Definition at line 546 of file KeosD3D9RenderSystem.cpp.
References Keos::CD3D9Enum::Get(), and Keos::CD3D9::pD3DDevice.
| void Keos::CD3D9RenderSystem::LoadMatrix | ( | TMatrixType | Type, | |
| const CMatrix4 & | Matrix | |||
| ) | [virtual] |
See IRenderSystem.
Implements Keos::IRenderSystem.
Definition at line 554 of file KeosD3D9RenderSystem.cpp.
References Keos::CD3D9Enum::Get(), and Keos::CD3D9::pD3DDevice.
| void Keos::CD3D9RenderSystem::LoadMatrixMult | ( | TMatrixType | Type, | |
| const CMatrix4 & | Matrix | |||
| ) | [virtual] |
See IRenderSystem.
Implements Keos::IRenderSystem.
Definition at line 562 of file KeosD3D9RenderSystem.cpp.
References Keos::CD3D9Enum::Get(), and Keos::CD3D9::pD3DDevice.
| void Keos::CD3D9RenderSystem::GetMatrix | ( | TMatrixType | Type, | |
| CMatrix4 & | Matrix | |||
| ) | const [virtual] |
See IRenderSystem.
Implements Keos::IRenderSystem.
Definition at line 570 of file KeosD3D9RenderSystem.cpp.
See IRenderSystem.
Implements Keos::IRenderSystem.
Definition at line 576 of file KeosD3D9RenderSystem.cpp.
References Keos::CColor::ToARGB().
Referenced by SetupTextureUnit().
| ITextureBase * Keos::CD3D9RenderSystem::CreateTexture | ( | const TVector2I & | Size, | |
| TPixelFormat | Format, | |||
| ulong | nFlags = 0 | |||
| ) | const [virtual] |
See IRenderSystem.
Implements Keos::IRenderSystem.
Definition at line 582 of file KeosD3D9RenderSystem.cpp.
References Keos::CAP_HW_MIPMAPPING, D3D9_EXCEPT, Keos::CD3D9Enum::Get(), Keos::IRenderSystem::GetCapabilities(), Keos::CRenderSystemCapabilities::HasCapability(), Keos::CD3D9::pD3D, Keos::CD3D9::pD3DDevice, Keos::TEX_NOMIPMAP, Keos::CVector2< T >::x, and Keos::CVector2< T >::y.
| void Keos::CD3D9RenderSystem::SetTexture | ( | uint | nUnit, | |
| const ITextureBase * | pTexture | |||
| ) | const [virtual] |
See IRenderSystem.
Implements Keos::IRenderSystem.
Definition at line 603 of file KeosD3D9RenderSystem.cpp.
References Keos::CD3D9Texture::GetD3D9Texture(), and Keos::CD3D9::pD3DDevice.
See IRenderSystem.
Implements Keos::IRenderSystem.
Definition at line 610 of file KeosD3D9RenderSystem.cpp.
References Keos::CD3D9Enum::Get(), and Keos::CD3D9::pD3DDevice.
| void Keos::CD3D9RenderSystem::SetupTextureUnit | ( | uint | nUnit, | |
| TTextureOp | Op, | |||
| TTextureArg | Arg1, | |||
| TTextureArg | Arg2 = TXA_DIFFUSE, |
|||
| const CColor & | Constant = 0x00 | |||
| ) | const [virtual] |
See IRenderSystem.
Implements Keos::IRenderSystem.
Definition at line 617 of file KeosD3D9RenderSystem.cpp.
References ConvertColor(), Keos::CD3D9Enum::Get(), Keos::CD3D9::pD3DDevice, Keos::TXA_CONSTANT, and Keos::TXO_ALPHA_FIRSTARG.
| void Keos::CD3D9RenderSystem::Enable | ( | TRenderParameter | Param, | |
| bool | bValue | |||
| ) | const [virtual] |
See IRenderSystem.
Implements Keos::IRenderSystem.
Definition at line 641 of file KeosD3D9RenderSystem.cpp.
References Keos::CD3D9Enum::Get(), and Keos::CD3D9::pD3DDevice.
| IShaderBase * Keos::CD3D9RenderSystem::CreateShader | ( | CGprogram | Program, | |
| TShaderType | Type | |||
| ) | const [virtual] |
See IRenderSystem.
Implements Keos::IRenderSystem.
Definition at line 647 of file KeosD3D9RenderSystem.cpp.
| void Keos::CD3D9RenderSystem::SetVertexShader | ( | const IShaderBase * | pShader | ) | [virtual] |
See IRenderSystem.
Implements Keos::IRenderSystem.
Definition at line 653 of file KeosD3D9RenderSystem.cpp.
References D3D9_EXCEPT, Keos::CD3D9Shader::GetProgram(), Keos::IShaderBase::GetType(), Keos::CD3D9::pD3DDevice, and Keos::SHADER_VERTEX.
| void Keos::CD3D9RenderSystem::SetPixelShader | ( | const IShaderBase * | pShader | ) | [virtual] |
See IRenderSystem.
Implements Keos::IRenderSystem.
Definition at line 671 of file KeosD3D9RenderSystem.cpp.
References D3D9_EXCEPT, Keos::CD3D9Shader::GetProgram(), Keos::IShaderBase::GetType(), Keos::CD3D9::pD3DDevice, and Keos::SHADER_PIXEL.
| void Keos::CD3D9RenderSystem::SetClearColor | ( | const CColor & | Color | ) | [virtual] |
See IRenderSystem.
Implements Keos::IRenderSystem.
Definition at line 721 of file KeosD3D9RenderSystem.cpp.
References Keos::IRenderSystem::m_ClearColor.
Referenced by CreateRenderWindow().
See IRenderSystem.
Implements Keos::IRenderSystem.
Definition at line 727 of file KeosD3D9RenderSystem.cpp.
References D3D9_EXCEPT, Keos::CLight::GetAttenuationConstant(), Keos::CLight::GetAttenuationLinear(), Keos::CLight::GetAttenuationQuadric(), Keos::CLight::GetAttenuationRange(), Keos::CLight::GetDiffuseColor(), Keos::CLight::GetDirection(), Keos::CLight::GetPosition(), Keos::CLight::GetSpecularColor(), Keos::CLight::GetSpotFalloff(), Keos::CLight::GetSpotInnerAngle(), Keos::CLight::GetSpotOuterAngle(), Keos::CLight::GetType(), Keos::CLight::LT_DIRECTIONAL, Keos::CLight::LT_POINT, Keos::CLight::LT_SPOT, Keos::CD3D9::pD3DDevice, Keos::CColor::ToFloat(), Keos::CRadian::valueRadians(), Keos::CVector3< T >::x, Keos::CVector3< T >::y, and Keos::CVector3< T >::z.
| void Keos::CD3D9RenderSystem::SetFillMode | ( | TFillMode | Mode | ) | [virtual] |
See IRenderSystem.
Implements Keos::IRenderSystem.
Definition at line 798 of file KeosD3D9RenderSystem.cpp.
References Keos::CD3D9Enum::Get(), and Keos::CD3D9::pD3DDevice.
| void Keos::CD3D9RenderSystem::RestoreLostDevice | ( | void | ) |
D3D specific method to restore a lost device.
Definition at line 689 of file KeosD3D9RenderSystem.cpp.
References D3D9_EXCEPT, Keos::IRenderSystem::m_pRenderWindow, and Keos::CD3D9::pD3DDevice.
Referenced by Keos::CD3D9Window::Update().
| bool Keos::CD3D9RenderSystem::IsDeviceLost | ( | void | ) |
D3D specific method to return whether the device has been lost.
Definition at line 709 of file KeosD3D9RenderSystem.cpp.
Referenced by Keos::CD3D9Window::Update().
| void Keos::CD3D9RenderSystem::_NotifyDeviceLost | ( | void | ) |
1.5.1-p1