Main Page | Modules | Namespace List | Class Hierarchy | Class List | Directories | Namespace Members | Class Members | Related Pages

XEngineCore Library


Detailed Description

This is the core render system component of XEngine, which acts as a layer on top of a rendering API and can in fact itself be considered an object-oriented rendering API. It offers the basic features of a 3D graphics API for rendering primitives, using textures, setting render states and so on.


Namespaces

namespace  XEngine
 The main XEngine namespace.
namespace  XEngine::Core
 The Core namespace that contains all render system classes.

Classes

class  RSAlphaTest
 The alpha test render state class. More...
class  RSBlendMode
 The blend mode render state class. More...
class  RSBlendMode::BlendFunc
 Helper class that represents a blending combine operation. More...
class  RSClearValues
 The clear values render state class. More...
class  RSClipPlanes
 The render state class for user-defined clipping planes. More...
class  RSColorMaterial
 The color material render state class. More...
class  RSCullMode
 The cull mode render state class. More...
class  RSDepthBuffer
 The depth buffer render state class. More...
class  RSDithering
 The dithering render state class. More...
class  RSFillMode
 The fill mode render state class. More...
class  RSFog
 The fog render state class. More...
class  RSLighting
 The fixed-function lighting render state class. More...
class  RSMaterial
 The material render state class. More...
class  RSNormalization
 The normalization render state class. More...
class  RSPointParameters
 The point parameters render state class. More...
class  RSScissor
 The scissor render state class. More...
class  RSShadeMode
 The shade mode render state class. More...
class  RSStencilBuffer
 The stencil buffer buffer render state class. More...
class  TCSCoordGeneration
 The texture coordinate generation texture coordinate state class. More...
class  TCSTextureMatrix
 The texture matrix texture coordinate state class. More...
class  TSAddressingMode
 The addressing mode texture state class. More...
class  TSBorderColor
 The border color texture state class. More...
class  TSFiltering
 The filtering texture state class. More...
class  TSSMipmapLODBias
 The mipmap LOD bias texture sampler state class. More...
class  AdapterInfo
 A little data class containing information about a display adapter. More...
class  Color
 A helper template for handling ARGB colors as a 32-bit integer value. More...
class  ColorReal
 A little helper class for handling RGBA colors specified as 4 real values. More...
class  CubeTexture
 A class for cube textures. More...
class  DeviceInfo
 A little data class containing information about a device/driver of an adapter. More...
class  DirectionalLight
 This class represents a directional light source. More...
class  DisplayMode
 This class represents a display mode. More...
class  Exception
 A generic exception class. More...
class  IndexBuffer
 This class defines an index buffer for the render system. More...
class  Light
 This class is the abstract base class for all light classes used for fixed-function, per-vertex lighting. More...
class  Material
 A little helper class for handling materials. More...
class  PixelFormat
 The pixel format class. More...
class  PixelRectRegion
 A class representing a rectangular region of a surface. More...
class  PixelBoxRegion
 A class representing a box region of a volume surface. More...
class  PixelFormatConverter
 A class for doing pixel format conversions. More...
class  PointLight
 This class represents a point light source. More...
class  RenderBuffer
 This class defines a buffer for the render system. More...
class  RenderBufferLocker
 The render buffer locker helper class. More...
class  RenderContext
 The main interface class to the underlying rendering API. More...
class  RenderContextAccessor
 The render context accessor interface class. More...
class  RenderContextCaps
 This class provides information about the capabilities of a render context. More...
class  RenderCubeTexture
 A class for using a cube texture as render target. More...
class  RenderCubeTexture::Format
 A data class that holds specification parameters for a render cube texture. More...
class  Renderer
 This class represents a renderer and as such usually an underlying rendering API. More...
class  RendererInfo
 This class provides information about a renderer. More...
class  RenderFullScreenWindow
 A render target class that represents a full screen window. More...
class  RenderFullScreenWindow::Format
 A data class that holds specification parameters for a render full screen window. More...
class  RenderResource
 This class defines a resource for the render system. More...
class  RenderState
 The render state base class. More...
class  RenderTarget
 The render target abstract base class. More...
class  RenderTarget::Format
 The abstract base class for all render target format classes that hold specification parameters for a render target. More...
class  RenderTexture1D
 A class for using a 1-dimensional texture as render target. More...
class  RenderTexture1D::Format
 A data class that holds specification parameters for a 1-dimensional render texture. More...
class  RenderTexture2D
 A class for using a 2-dimensional texture as render target. More...
class  RenderTexture2D::Format
 A data class that holds specification parameters for a 2-dimensional render texture. More...
class  RenderTextureBase
 This is the base class for all render-to-texture render targets. More...
class  RenderTextureBase::Format
 A data class that holds specification parameters for a render texture. More...
class  RenderWindow
 A render target class that represents a window. More...
class  RenderWindow::Format
 A data class that holds specification parameters for a render window. More...
class  RenderWindowParent
 The render window parent class. More...
class  Shader
 A class representing a shader. More...
class  ShaderProgram
 The shader program class that is used to program the entire grahpics pipeline. More...
class  ShaderVarType
 This class defines the types used for shader variables. More...
class  ShadingLanguage
 A helper class for encapsulating shading languages. More...
class  ShadingLanguageCaps
 This data class represents a the capabilities of a shading language. More...
class  SpotLight
 This class represents a spotlight. More...
class  StateBase
 This template serves as base class for state classes, such as render states or texture states. More...
class  StateSetBase
 The state set base class. More...
class  RenderStateSet
 The render state set class. More...
class  TextureSamplerStateSet
 The texture sampler state set class. More...
class  TextureCoordStateSet
 The texture coordinate state set class. More...
class  TextureStateSet
 The texture state set class. More...
class  StateSet
 This class represents a complete set of states of a render context. More...
class  Texture1D
 A class for 1-dimensional textures. More...
class  Texture2D
 A class for 2-dimensional textures. More...
class  Texture3D
 A class for 3-dimensional volume textures. More...
class  TextureBase
 The base class for all texture resource classes. More...
class  TextureCaps
 This class provides information about the texture-related capabilities of a render context. More...
class  TextureCoordStage
 The texture coordinate stage class. More...
class  TextureCoordState
 The texture coordinate stage state base class. More...
class  TextureSamplerStage
 The texture sampler stage class. More...
class  TextureSamplerState
 The texture sampler stage state base class. More...
class  TextureState
 The texture state base class. More...
class  Timer
 A high-precision timer class. More...
class  VertexAttribBinding
 This class represents a binding of a vertex attribute to a shader input variable. More...
class  VertexBuffer
 This class defines a vertex buffer for the render system. More...
class  VertexBufferStreamMapping
 This small data class defines the vertex buffer stream mapping used in the RenderContext::Draw methods. More...
class  VertexFormat
 This class defines the format of a vertex type used in vertex buffers. More...
struct  VertexTypeNormal
 A pre-defined vertex type with a position and a normal. More...
struct  VertexTypeNormalTex2D
 A pre-defined vertex type with a position, a normal and one set of 2-dimensional texture coordinates. More...
struct  VertexTypeNormalTex2DTex2D
 A pre-defined vertex type with a position, a normal and two sets of 2-dimensional texture coordinates. More...
struct  VertexTypeTex2D
 A pre-defined vertex type with a position and one set of 2-dimensional texture coordinates. More...
struct  VertexTypePrimColor
 A pre-defined vertex type with a position and a color. More...
struct  VertexTypePrimColorSecColor
 A pre-defined vertex type with a position, a primary color and a secondary color. More...
struct  VertexTypeNormalPrimColor
 A pre-defined vertex type with a position, a normal and a color. More...
struct  VertexTypeNormalPrimColorTex2D
 A pre-defined vertex type with a position, a normal, a color, and a set of texture coordinates. More...
struct  VertexTypePrimColorTex2D
 A pre-defined vertex type with a position, a color and a set of texture coordinates. More...
class  Viewport
 A class defining a rectangular viewport. More...

Enumerations

enum  XEngine::ByteOrder { XEngine::LittleEndian, XEngine::BigEndian }
enum  XEngine::BuildConfiguration { XEngine::DebugBuild, XEngine::ReleaseBuild, XEngine::DebugUnicodeBuild, XEngine::ReleaseUnicodeBuild }
 The build configuration enum type. More...


Enumeration Type Documentation

enum BuildConfiguration
 

This enumeration type defines the various build configurations supported by XEngine renderers. Each renderer must export a function called GetBuildConfiguration that must return a value of this enumeration. This GetBuildConfiguration function is typically implemented as follows:

   extern "C" XENGINERENDERER_DLL_EXPORT XEngine::BuildConfiguration GetBuildConfiguration()
   {
      return XEngine::CurrentBuildConfiguration;
   }

The global static constant XEngine::CurrentBuildConfiguration is always set to the current build configuration depending on preprocessor settings. E.g if _DEBUG is defined but not _UNICODE XEngine::CurrentBuildConfiguration is set to DebugBuild.

Enumeration values:
DebugBuild  Debug configuration.
ReleaseBuild  Release configuration.
DebugUnicodeBuild  Debug Unicode configuration.
ReleaseUnicodeBuild  Release Unicode configuration.

enum ByteOrder
 

The ByteOrder enumeration enumerates all supported endian formats. This enumeration type is used for example in the PixelFormatConverter class. There is a constant in the XEngine namespace called NativeEndian which is either LittleEndian or BigEndian depending on how the engine was built.

Enumeration values:
LittleEndian  Little endian byte order.
BigEndian  Big endian byte order.