Cinder  0.9.1
Classes | Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
cinder::app::RendererImplDx Class Referenceabstract

#include <RendererImplDx.h>

Inherits cinder::app::RendererImplMsw.

Classes

struct  FixedVertex
 
struct  LightData
 

Public Types

enum  RenderStateFlag { BATCH_TEXTURE = 1, CUSTOM_SHADER_ACTIVE = 2 }
 

Public Member Functions

 RendererImplDx (AppBase *aApp, RendererDx *aRenderer)
 
virtual bool initialize (HWND wnd, HDC dc, RendererRef sharedRenderer)
 
virtual void prepareToggleFullScreen ()
 
virtual void finishToggleFullScreen ()
 
virtual void kill ()
 
virtual void defaultResize () const
 
virtual void swapBuffers () const
 
virtual void makeCurrentContext ()
 
void enableVsync (bool enable=true)
 
bool vsyncEnabled () const
 
void setViewport (int x, int y, int width, int height) const
 
void enableDepthTesting (bool enable=true)
 
void enableAlphaBlending (bool premultiplied=false)
 
void disableAlphaBlending ()
 
void enableAdditiveBlending ()
 
void enableDepthWriting (bool enable=true)
 
bool getRenderFlag (RenderStateFlag flag)
 
void setRenderFlag (RenderStateFlag flag)
 
void clearRenderFlag (RenderStateFlag flag)
 
virtual void makeCurrentContext (bool force=false)=0
 

Public Attributes

const dx::Texture * mCurrentBatchTexture
 
std::vector< std::pair< const dx::Texture *, std::vector< FixedVertex > > > mBatchedTextures
 
MatrixStack mModelView
 
MatrixStack mProjection
 
vec4 mCurrentColor
 
vec3 mCurrentNormal
 
vec2 mCurrentUV
 
std::vector< FixedVertexmImmediateModeVerts
 
GLenum mImmediateModePrimitive
 
bool mLightingEnabled
 
LightData mLights [8]
 
RendererDxmRenderer
 
D3D_FEATURE_LEVEL mFeatureLevel
 
ID3D11DeviceContext1 * mDeviceContext
 
IDXGISwapChain1 * mSwapChain
 
ID3D11Device1 * md3dDevice
 
ID3D11RenderTargetView * mMainFramebuffer
 
ID3D11Texture2D * mDepthStencilTexture
 
ID3D11DepthStencilView * mDepthStencilView
 
ID3D11Buffer * mCBMatrices
 
ID3D11Buffer * mCBLights
 
ID3D11Buffer * mCBFixedParameters
 
ID3D11BlendState * mBlendState
 
D3D11_BLEND_DESC mBlendDesc
 
ID3D11VertexShader * mFixedColorVertexShader
 
ID3D11PixelShader * mFixedColorPixelShader
 
ID3D11VertexShader * mFixedColorLightVertexShader
 
ID3D11PixelShader * mFixedColorLightPixelShader
 
ID3D11VertexShader * mFixedTextureVertexShader
 
ID3D11PixelShader * mFixedTexturePixelShader
 
ID3D11VertexShader * mFixedTextureLightVertexShader
 
ID3D11PixelShader * mFixedTextureLightPixelShader
 
ID3D11VertexShader * mVboPositionVS
 
ID3D11VertexShader * mVboPositionNormalVS
 
ID3D11VertexShader * mVboPositionTextureVS
 
ID3D11VertexShader * mVboPositionColorVS
 
ID3D11VertexShader * mVboPositionNormalTextureVS
 
ID3D11VertexShader * mVboPositionNormalColorVS
 
ID3D11VertexShader * mVboPositionColorTextureVS
 
ID3D11VertexShader * mVboPositionNormalColorTextureVS
 
ID3D11VertexShader * mVboPositionLightVS
 
ID3D11VertexShader * mVboPositionNormalLightVS
 
ID3D11VertexShader * mVboPositionTextureLightVS
 
ID3D11VertexShader * mVboPositionColorLightVS
 
ID3D11VertexShader * mVboPositionNormalTextureLightVS
 
ID3D11VertexShader * mVboPositionNormalColorLightVS
 
ID3D11VertexShader * mVboPositionColorTextureLightVS
 
ID3D11VertexShader * mVboPositionNormalColorTextureLightVS
 
ID3D11InputLayout * mFixedLayout
 
ID3D11Buffer * mVertexBuffer
 
ID3D11Buffer * mIndexBuffer
 
ID3D11RasterizerState * mDefaultRenderState
 
ID3D11DepthStencilState * mDepthStencilState
 
D3D11_DEPTH_STENCIL_DESC mDepthStencilDesc
 

Protected Member Functions

bool initializeInternal (DX_WINDOW_TYPE wnd)
 
int initMultisample (int requestedLevelIdx)
 
bool createDevice (UINT createDeviceFlags)
 
bool createDeviceResources ()
 
bool createFramebufferResources ()
 
bool createShadersFeatureLevel_9_1 ()
 
bool createShadersFeatureLevel_9_3 ()
 
bool createShadersFeatureLevel_10_1 ()
 
bool createShadersFeatureLevel_11_0 ()
 
bool createShadersFeatureLevel_11_1 ()
 
void handleLostDevice ()
 
void getPlatformWindowDimensions (Platform::Agile< Windows::UI::Core::CoreWindow > wnd, float *width, float *height) const
 
void releaseNonDeviceResources ()
 

Protected Attributes

int mStateFlags
 
bool mFullScreen
 
bool mVsyncEnable
 
HWND mWnd
 

Member Enumeration Documentation

Enumerator
BATCH_TEXTURE 
CUSTOM_SHADER_ACTIVE 

Constructor & Destructor Documentation

cinder::app::RendererImplDx::RendererImplDx ( AppBase aApp,
RendererDx aRenderer 
)

Member Function Documentation

bool cinder::app::RendererImplDx::initialize ( HWND  wnd,
HDC  dc,
RendererRef  sharedRenderer 
)
virtual
void cinder::app::RendererImplDx::prepareToggleFullScreen ( )
virtual

Reimplemented from cinder::app::RendererImplMsw.

void cinder::app::RendererImplDx::finishToggleFullScreen ( )
virtual

Reimplemented from cinder::app::RendererImplMsw.

void cinder::app::RendererImplDx::kill ( )
virtual
void cinder::app::RendererImplDx::defaultResize ( ) const
virtual
void cinder::app::RendererImplDx::swapBuffers ( ) const
virtual
void cinder::app::RendererImplDx::makeCurrentContext ( )
virtual
void cinder::app::RendererImplDx::enableVsync ( bool  enable = true)
bool cinder::app::RendererImplDx::vsyncEnabled ( ) const
void cinder::app::RendererImplDx::setViewport ( int  x,
int  y,
int  width,
int  height 
) const
void cinder::app::RendererImplDx::enableDepthTesting ( bool  enable = true)
void cinder::app::RendererImplDx::enableAlphaBlending ( bool  premultiplied = false)
void cinder::app::RendererImplDx::disableAlphaBlending ( )
void cinder::app::RendererImplDx::enableAdditiveBlending ( )
void cinder::app::RendererImplDx::enableDepthWriting ( bool  enable = true)
bool cinder::app::RendererImplDx::getRenderFlag ( RenderStateFlag  flag)
void cinder::app::RendererImplDx::setRenderFlag ( RenderStateFlag  flag)
void cinder::app::RendererImplDx::clearRenderFlag ( RenderStateFlag  flag)
bool cinder::app::RendererImplDx::initializeInternal ( DX_WINDOW_TYPE  wnd)
protected
int cinder::app::RendererImplDx::initMultisample ( int  requestedLevelIdx)
protected
bool cinder::app::RendererImplDx::createDevice ( UINT  createDeviceFlags)
protected
bool cinder::app::RendererImplDx::createDeviceResources ( )
protected
bool cinder::app::RendererImplDx::createFramebufferResources ( )
protected
bool cinder::app::RendererImplDx::createShadersFeatureLevel_9_1 ( )
protected
bool cinder::app::RendererImplDx::createShadersFeatureLevel_9_3 ( )
protected
bool cinder::app::RendererImplDx::createShadersFeatureLevel_10_1 ( )
protected
bool cinder::app::RendererImplDx::createShadersFeatureLevel_11_0 ( )
protected
bool cinder::app::RendererImplDx::createShadersFeatureLevel_11_1 ( )
protected
void cinder::app::RendererImplDx::handleLostDevice ( )
protected
void cinder::app::RendererImplDx::getPlatformWindowDimensions ( Platform::Agile< Windows::UI::Core::CoreWindow >  wnd,
float *  width,
float *  height 
) const
protected
void cinder::app::RendererImplDx::releaseNonDeviceResources ( )
protected
virtual void cinder::app::RendererImplMsw::makeCurrentContext ( bool  force = false)
pure virtualinherited

Member Data Documentation

const dx::Texture* cinder::app::RendererImplDx::mCurrentBatchTexture
std::vector<std::pair<const dx::Texture*, std::vector<FixedVertex> > > cinder::app::RendererImplDx::mBatchedTextures
MatrixStack cinder::app::RendererImplDx::mModelView
MatrixStack cinder::app::RendererImplDx::mProjection
vec4 cinder::app::RendererImplDx::mCurrentColor
vec3 cinder::app::RendererImplDx::mCurrentNormal
vec2 cinder::app::RendererImplDx::mCurrentUV
std::vector<FixedVertex> cinder::app::RendererImplDx::mImmediateModeVerts
GLenum cinder::app::RendererImplDx::mImmediateModePrimitive
bool cinder::app::RendererImplDx::mLightingEnabled
LightData cinder::app::RendererImplDx::mLights[8]
RendererDx* cinder::app::RendererImplDx::mRenderer
D3D_FEATURE_LEVEL cinder::app::RendererImplDx::mFeatureLevel
ID3D11DeviceContext1* cinder::app::RendererImplDx::mDeviceContext
IDXGISwapChain1* cinder::app::RendererImplDx::mSwapChain
ID3D11Device1* cinder::app::RendererImplDx::md3dDevice
ID3D11RenderTargetView* cinder::app::RendererImplDx::mMainFramebuffer
ID3D11Texture2D* cinder::app::RendererImplDx::mDepthStencilTexture
ID3D11DepthStencilView* cinder::app::RendererImplDx::mDepthStencilView
ID3D11Buffer* cinder::app::RendererImplDx::mCBMatrices
ID3D11Buffer* cinder::app::RendererImplDx::mCBLights
ID3D11Buffer* cinder::app::RendererImplDx::mCBFixedParameters
ID3D11BlendState* cinder::app::RendererImplDx::mBlendState
D3D11_BLEND_DESC cinder::app::RendererImplDx::mBlendDesc
ID3D11VertexShader* cinder::app::RendererImplDx::mFixedColorVertexShader
ID3D11PixelShader* cinder::app::RendererImplDx::mFixedColorPixelShader
ID3D11VertexShader* cinder::app::RendererImplDx::mFixedColorLightVertexShader
ID3D11PixelShader* cinder::app::RendererImplDx::mFixedColorLightPixelShader
ID3D11VertexShader* cinder::app::RendererImplDx::mFixedTextureVertexShader
ID3D11PixelShader* cinder::app::RendererImplDx::mFixedTexturePixelShader
ID3D11VertexShader* cinder::app::RendererImplDx::mFixedTextureLightVertexShader
ID3D11PixelShader* cinder::app::RendererImplDx::mFixedTextureLightPixelShader
ID3D11VertexShader* cinder::app::RendererImplDx::mVboPositionVS
ID3D11VertexShader* cinder::app::RendererImplDx::mVboPositionNormalVS
ID3D11VertexShader* cinder::app::RendererImplDx::mVboPositionTextureVS
ID3D11VertexShader* cinder::app::RendererImplDx::mVboPositionColorVS
ID3D11VertexShader* cinder::app::RendererImplDx::mVboPositionNormalTextureVS
ID3D11VertexShader* cinder::app::RendererImplDx::mVboPositionNormalColorVS
ID3D11VertexShader* cinder::app::RendererImplDx::mVboPositionColorTextureVS
ID3D11VertexShader* cinder::app::RendererImplDx::mVboPositionNormalColorTextureVS
ID3D11VertexShader* cinder::app::RendererImplDx::mVboPositionLightVS
ID3D11VertexShader* cinder::app::RendererImplDx::mVboPositionNormalLightVS
ID3D11VertexShader* cinder::app::RendererImplDx::mVboPositionTextureLightVS
ID3D11VertexShader* cinder::app::RendererImplDx::mVboPositionColorLightVS
ID3D11VertexShader* cinder::app::RendererImplDx::mVboPositionNormalTextureLightVS
ID3D11VertexShader* cinder::app::RendererImplDx::mVboPositionNormalColorLightVS
ID3D11VertexShader* cinder::app::RendererImplDx::mVboPositionColorTextureLightVS
ID3D11VertexShader* cinder::app::RendererImplDx::mVboPositionNormalColorTextureLightVS
ID3D11InputLayout* cinder::app::RendererImplDx::mFixedLayout
ID3D11Buffer* cinder::app::RendererImplDx::mVertexBuffer
ID3D11Buffer* cinder::app::RendererImplDx::mIndexBuffer
ID3D11RasterizerState* cinder::app::RendererImplDx::mDefaultRenderState
ID3D11DepthStencilState* cinder::app::RendererImplDx::mDepthStencilState
D3D11_DEPTH_STENCIL_DESC cinder::app::RendererImplDx::mDepthStencilDesc
int cinder::app::RendererImplDx::mStateFlags
protected
bool cinder::app::RendererImplDx::mFullScreen
protected
bool cinder::app::RendererImplDx::mVsyncEnable
protected
HWND cinder::app::RendererImplMsw::mWnd
protectedinherited

The documentation for this class was generated from the following files: