D3D9 Namespace Reference

Set of "thin wrapper" classes to encapsulate some of Direct3D v9 functionality. More...


Classes

class  ErrorList
 C++ exception class representing D3D errors. More...

class  Device
 Rendering device which maintains render states, resources such as vertex buffers, textures and shaders, and is able to draw primitives. More...

class  VertexFormat
 Holds vertex data format description (VertexDeclaration in D3D language). More...

struct  VertexFormat::Element
 Vertex format element descriptor. More...

class  VertexBuffer
 Vertex buffer holding array of verices in videomemory (for possbily better alternative see D3D9::VertexArray). More...

class  VertexBuffer::LockedArea
 Locked area of vertex buffer used to access the vertices. More...

class  IndexBuffer
 Index buffer. More...

class  IndexBuffer::LockedArea
 Locked area of index buffer used to access the indices. More...

class  VertexArray
 VertexArray can be thought as improved version of D3D9::VertexBuffer, with vertex format fixed at compile time, with more strict compile-time type checking. More...

class  VertexArray::LockedArea
 Locked area of vertex array used to access the vertices. More...

class  IndexArray
 IndexArray may be taken as "improved", type-safe version of D3D9::IndexBuffer. More...

class  IndexArray::LockedArea
 Locked area of index array used to access the indices. More...

class  VertexShader
 Vertex shader routine. More...

class  PixelShader
 Pixel shader routine. More...

class  ShaderAssembly
 This is base class for hierarchy of shader compilers. More...

class  ShaderAssembly_ASM
 Reads and assembles shader file written in DirectX-specific 'ASM' language, and stores the intermediate representation (binary code buffer). More...

class  ShaderAssembly_HLSL
 Reads and compiles shader file written in HLSL (C-like) language, and stores the intermediate representation (binary code buffer). More...

struct  Point
 2D Point (based on DirectX POINT struct) More...

struct  Rect
 2D Rectangular region (based on DirectX RECT struct) More...

class  Texture
 Texture -- sequence of Surfaces, usually each representing single mipmap level of the texture. More...

class  NullTexture
 Special "NULL" texture, which means no texture at all. More...

class  RenderTargetTexture
 Special texture suited to work as target for rendering. More...

class  DepthStencilTexture
 Special texture suited to work as depth and stencil (combined) buffer. More...

class  Surface
 Flat rectangular bitmapped surface. More...

class  Surface::LockedRect
 Locked rectangular area on a bitmapped surface, so the surface bits may be accessed. More...

class  TextureMipmapSurface
 Surface representing single mipmap level of a texture. More...

class  RenderTargetSurface
 Surface representing render target. More...

class  FixedVertexShader
 Special "Fixed function" vertex shader. More...

struct  FixedVertexShader::Material
 This class represents set of legacy D3D "material" properties. More...

struct  FixedVertexShader::Light
 This class represent set of legacy D3D "hardware light" properties. More...

class  FixedPixelShader
 Special "Fixed function" pixel shader. More...


Detailed Description

Set of "thin wrapper" classes to encapsulate some of Direct3D v9 functionality.

Reason for these is to provide very clean and consistent interface to most common D3D functionality, but employ C++ type and exception safety advantages.

Note:
Each resource ultimately belong to single instance of Device. Resource can be copy-constructed and assigned. In both cases the actual resource is NOT duplicated, but rather internal pointers are copied. All internal resources are reference-counted.

Todo:
Research impact of copy-construction and assignment when resources such as VertexBuffer are placed in STL containers. Currently each such copy involve Resource->AddRef() call via COM interface. This should be very fast, but it's still call of function via pointer, and I don't like this fact ;o)


Generated on Sun May 1 17:34:20 2005 for RealityStrike Game Engine API by doxygen 1.3.6