CEGUI::Direct3D10Renderer Class Reference

Renderer implementation using Direct3D 10. More...

Inheritance diagram for CEGUI::Direct3D10Renderer:
Inheritance graph
[legend]
Collaboration diagram for CEGUI::Direct3D10Renderer:
Collaboration graph
[legend]

List of all members.

Public Member Functions

ID3D10Device & getDirect3DDevice () const
 return the ID3D10Device used by this renderer object.
void bindTechniquePass ()
 low-level function that binds the technique pass ready for use
void setCurrentTextureShaderResource (ID3D10ShaderResourceView *srv)
 low-level function to set the texture shader resource view to be used.
void setProjectionMatrix (D3DXMATRIX &matrix)
 low-level function to set the projection matrix to be used.
void setWorldMatrix (D3DXMATRIX &matrix)
 low-level function to set the world matrix to be used.
RenderingRootgetDefaultRenderingRoot ()
 Return the default rendering root for the renderer. The default rendering root is typically a RenderingRoot that targets the entire screen (or rendering window).
GeometryBuffercreateGeometryBuffer ()
 Create a new GeometryBuffer and return a reference to it. You should remove the GeometryBuffer from any RenderQueues and call destroyGeometryBuffer when you want to destroy the GeometryBuffer.
void destroyGeometryBuffer (const GeometryBuffer &buffer)
 Destroy a GeometryBuffer that was returned when calling the createGeometryBuffer function. Before destroying any GeometryBuffer you should ensure that it has been removed from any RenderQueue that was using it.
void destroyAllGeometryBuffers ()
 Destroy all GeometryBuffer objects created by this Renderer.
TextureTargetcreateTextureTarget ()
 Create a TextureTarget that can be used to cache imagery; this is a RenderTarget that does not lose it's content from one frame to another.
void destroyTextureTarget (TextureTarget *target)
 Function that cleans up TextureTarget objects created with the createTextureTarget function.
void destroyAllTextureTargets ()
 Destory all TextureTarget objects created by this Renderer.
TexturecreateTexture ()
 Create a 'null' Texture object.
TexturecreateTexture (const String &filename, const String &resourceGroup)
 Create a Texture object using the given image file.
TexturecreateTexture (const Size &size)
 Create a Texture object with the given pixel dimensions as specified by size.
void destroyTexture (Texture &texture)
 Destroy a Texture object that was previously created by calling the createTexture functions.
void destroyAllTextures ()
 Destroy all Texture objects created by this Renderer.
void beginRendering ()
 Perform any operations required to put the system into a state ready for rendering operations to begin.
void endRendering ()
 Perform any operations required to finalise rendering.
void setDisplaySize (const Size &sz)
 Set the size of the display or host window in pixels for this Renderer object.
const SizegetDisplaySize () const
 Return the size of the display or host window in pixels.
const Vector2getDisplayDPI () const
 Return the resolution of the display or host window in dots per inch.
uint getMaxTextureSize () const
 Return the pixel size of the maximum supported texture.
const StringgetIdentifierString () const
 Return identification string for the renderer module.

Static Public Member Functions

static Direct3D10Renderercreate (ID3D10Device *device)
 Create an Direct3D10Renderer object.
static void destroy (Direct3D10Renderer &renderer)
 Destroy an Direct3D10Renderer object.

Protected Types

typedef std::vector
< TextureTarget * > 
TextureTargetList
 container type used to hold TextureTargets we create.
typedef std::vector
< Direct3D10GeometryBuffer * > 
GeometryBufferList
 container type used to hold GeometryBuffers we create.
typedef std::vector
< Direct3D10Texture * > 
TextureList
 container type used to hold Textures we create.

Protected Member Functions

 Direct3D10Renderer (ID3D10Device *device)
 constructor
 ~Direct3D10Renderer ()
 destructor.
Size getViewportSize ()
 return size of the D3D device viewport.

Protected Attributes

ID3D10Device * d_device
 The D3D device we're using to render with.
Size d_displaySize
 What the renderer considers to be the current display size.
Vector2 d_displayDPI
 What the renderer considers to be the current display DPI resolution.
RenderTargetd_defaultTarget
 The default RenderTarget (used by d_defaultRoot).
RenderingRootd_defaultRoot
 The default rendering root object.
TextureTargetList d_textureTargets
 Container used to track texture targets.
GeometryBufferList d_geometryBuffers
 Container used to track geometry buffers.
TextureList d_textures
 Container used to track textures.
ID3D10Effect * d_effect
 Effect (shader) used when rendering.
ID3D10EffectTechnique * d_technique
 The rendering technique extratced from the shader effect.
ID3D10InputLayout * d_inputLayout
 D3D10 input layout describing the vertex format we use.
ID3D10EffectShaderResourceVariable * d_boundTextureVariable
 Variable to access current texture (actually shader resource view).
ID3D10EffectMatrixVariable * d_worldMatrixVariable
 Variable to access world matrix used in geometry transformation.
ID3D10EffectMatrixVariable * d_projectionMatrixVariable
 Variable to access projection matrix used in geometry transformation.

Static Protected Attributes

static String d_rendererID
 String holding the renderer identification text.

Detailed Description

Renderer implementation using Direct3D 10.


Member Function Documentation

GeometryBuffer& CEGUI::Direct3D10Renderer::createGeometryBuffer (  )  [virtual]

Create a new GeometryBuffer and return a reference to it. You should remove the GeometryBuffer from any RenderQueues and call destroyGeometryBuffer when you want to destroy the GeometryBuffer.

Returns:
GeometryBuffer object.

Implements CEGUI::Renderer.

Texture& CEGUI::Direct3D10Renderer::createTexture ( const Size size  )  [virtual]

Create a Texture object with the given pixel dimensions as specified by size.

Parameters:
size Size object that describes the desired texture size.
Returns:
A newly created Texture object. The initial contents of the texture memory is undefined.
Note:
Due to possible limitations of the underlying hardware, API or engine, the final size of the texture may not match the requested size. You can check the ultimate sizes by querying the Texture object after creation.

Implements CEGUI::Renderer.

Texture& CEGUI::Direct3D10Renderer::createTexture ( const String filename,
const String resourceGroup 
) [virtual]

Create a Texture object using the given image file.

Parameters:
filename String object that specifies the path and filename of the image file to use when creating the texture.
resourceGroup String objet that specifies the resource group identifier to be passed to the resource provider when loading the texture file filename.
Returns:
A newly created Texture object. The initial content of the texture memory is the requested image file.
Note:
Due to possible limitations of the underlying hardware, API or engine, the final size of the texture may not match the size of the loaded file. You can check the ultimate sizes by querying the Texture object after creation.

Implements CEGUI::Renderer.

Texture& CEGUI::Direct3D10Renderer::createTexture (  )  [virtual]

Create a 'null' Texture object.

Returns:
A newly created Texture object. The returned Texture object has no size or imagery associated with it.

Implements CEGUI::Renderer.

TextureTarget* CEGUI::Direct3D10Renderer::createTextureTarget (  )  [virtual]

Create a TextureTarget that can be used to cache imagery; this is a RenderTarget that does not lose it's content from one frame to another.

If the renderer is unable to offer such a thing, 0 should be returned.

Returns:
Pointer to a TextureTarget object that is suitable for caching imagery, or 0 if the renderer is unable to offer such a thing.

Implements CEGUI::Renderer.

static void CEGUI::Direct3D10Renderer::destroy ( Direct3D10Renderer renderer  )  [static]

Destroy an Direct3D10Renderer object.

Parameters:
renderer The Direct3D10Renderer object to be destroyed.
void CEGUI::Direct3D10Renderer::destroyGeometryBuffer ( const GeometryBuffer buffer  )  [virtual]

Destroy a GeometryBuffer that was returned when calling the createGeometryBuffer function. Before destroying any GeometryBuffer you should ensure that it has been removed from any RenderQueue that was using it.

Parameters:
buffer The GeometryBuffer object to be destroyed.

Implements CEGUI::Renderer.

void CEGUI::Direct3D10Renderer::destroyTexture ( Texture texture  )  [virtual]

Destroy a Texture object that was previously created by calling the createTexture functions.

Parameters:
texture Texture object to be destroyed.

Implements CEGUI::Renderer.

void CEGUI::Direct3D10Renderer::destroyTextureTarget ( TextureTarget target  )  [virtual]

Function that cleans up TextureTarget objects created with the createTextureTarget function.

Parameters:
target A pointer to a TextureTarget object that was previously returned from a call to createTextureTarget.

Implements CEGUI::Renderer.

RenderingRoot& CEGUI::Direct3D10Renderer::getDefaultRenderingRoot (  )  [virtual]

Return the default rendering root for the renderer. The default rendering root is typically a RenderingRoot that targets the entire screen (or rendering window).

Returns:
RenderingRoot object that is the default RenderingSurface provided by the Renderer.

Implements CEGUI::Renderer.

const Vector2& CEGUI::Direct3D10Renderer::getDisplayDPI (  )  const [virtual]

Return the resolution of the display or host window in dots per inch.

Returns:
Vector2 object that describes the resolution of the display or host window in DPI.

Implements CEGUI::Renderer.

const Size& CEGUI::Direct3D10Renderer::getDisplaySize (  )  const [virtual]

Return the size of the display or host window in pixels.

Returns:
Size object describing the pixel dimesntions of the current display or host window.

Implements CEGUI::Renderer.

const String& CEGUI::Direct3D10Renderer::getIdentifierString (  )  const [virtual]

Return identification string for the renderer module.

Returns:
String object holding text that identifies the Renderer in use.

Implements CEGUI::Renderer.

uint CEGUI::Direct3D10Renderer::getMaxTextureSize (  )  const [virtual]

Return the pixel size of the maximum supported texture.

Returns:
Size of the maximum supported texture in pixels.

Implements CEGUI::Renderer.

void CEGUI::Direct3D10Renderer::setDisplaySize ( const Size size  )  [virtual]

Set the size of the display or host window in pixels for this Renderer object.

This is intended to be called by the System as part of the notification process when display size changes are notified to it via the System::notifyDisplaySizeChanged function.

Note:
The Renderer implementation should not use this function other than to perform internal state updates on the Renderer and related objects.
Parameters:
size Size object describing the dimesions of the current or host window in pixels.

Implements CEGUI::Renderer.


Generated on Wed Oct 21 10:18:52 2009 for Crazy Eddies GUI System by  doxygen 1.6.1