Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members
Classes | Enumerations
render Namespace Reference

In this namespace can be found render management classes like RenderManager, RenderWindow, RenderSystem, and so on. More...

Classes

class  Camera
 A viewpoint from which the scene will be rendered. More...
class  Color
 Class representing color. More...
class  DebugRenderable
class  Font
class  FontFactory
class  FrameEventReceiver
class  Frustum
class  HardwareIndexBuffer
class  HardwarePixelBuffer
class  HardwareVertexBuffer
class  IndexBuffer
 Class for index buffers, still abstract. More...
class  IndexData
 Summary class collecting together index data source information. More...
class  LayerBlendMode
class  Light
 Representation of a light in the render world. More...
class  Material
class  MaterialFactory
class  MemoryIndexBuffer
class  MemoryPixelBuffer
class  MemoryVertexBuffer
class  MeshData
 Defines a mesh resource. More...
class  MeshDataFactory
class  Model
 Representation of a model in the render world. More...
class  Overlay
 Represents a layer which is rendered on top of the 'normal' scene contents. More...
class  PanelOverlay
 Represents a panel overlay which is rendered on top of the 'normal' scene contents. More...
class  PixelBuffer
 Class for pixel buffers, still abstract. More...
class  Renderable
 Representation of a renderable in the render world. More...
class  RenderDriver
class  RenderManager
class  RenderOperation
class  RenderTarget
struct  RenderTargetEvent
 Struct containing information about a RenderTarget event. More...
class  RenderTargetEventReceiver
class  RenderWindow
class  Shader
class  ShaderParamData
struct  ShaderParameter
class  TextOverlay
 Represents a text overlay which is rendered on top of the 'normal' scene contents. More...
class  Texture
class  TextureUnit
class  VertexBuffer
 Class for index buffers, still abstract. More...
class  VertexBufferBinding
class  VertexData
 Summary class collecting together vertex source information. More...
class  VertexDeclaration
class  VertexElement
class  Viewport

Enumerations

enum  Alignment { A_LEFT, A_RIGHT, A_CENTER }
enum  FogMode { FM_NONE, FM_EXP, FM_EXP2, FM_LINEAR }
 Fog modes. More...
enum  FontType { FT_TRUETYPE, FT_IMAGE, FT_COUNT }
enum  FrustumPlane {
  FRUSTUM_PLANE_NEAR = 0, FRUSTUM_PLANE_FAR = 1, FRUSTUM_PLANE_LEFT = 2, FRUSTUM_PLANE_RIGHT = 3,
  FRUSTUM_PLANE_TOP = 4, FRUSTUM_PLANE_BOTTOM = 5
}
 World space clipping planes. More...
enum  HorizontalAlignment { HA_LEFT, HA_CENTER, HA_RIGHT }
 Enum describing where '0' is in relation to the parent in the horizontal dimension. More...
enum  ImageFlags { IF_COMPRESSED = 0x00000001, IF_CUBEMAP = 0x00000002, IF_3D_TEXTURE = 0x00000004 }
enum  IndexType { IT_16BIT, IT_32BIT }
enum  LayerBlendOperation {
  LBX_SOURCE1, LBX_SOURCE2, LBX_MODULATE, LBX_MODULATE_X2,
  LBX_MODULATE_X4, LBX_ADD, LBX_ADD_SIGNED, LBX_ADD_SMOOTH,
  LBX_SUBTRACT, LBX_BLEND_DIFFUSE_ALPHA, LBX_BLEND_TEXTURE_ALPHA, LBX_BLEND_CURRENT_ALPHA,
  LBX_BLEND_MANUAL, LBX_DOTPRODUCT, LBX_BLEND_DIFFUSE_COLOR
}
enum  LayerBlendSource {
  LBS_CURRENT, LBS_TEXTURE, LBS_DIFFUSE, LBS_SPECULAR,
  LBS_MANUAL
}
 List of valid sources of values for blending operations. More...
enum  LayerBlendType { LBT_COLOR, LBT_ALPHA }
 Type of texture blend mode. More...
enum  LightType { LT_POINT, LT_DIRECTIONAL, LT_SPOTLIGHT, LT_COUNT }
enum  MetricsMode { MM_RELATIVE, MM_PIXELS, MM_RELATIVE_ASPECT_ADJUSTED }
enum  OperationType {
  OT_POINT_LIST, OT_LINE_LIST, OT_LINE_STRIP, OT_TRIANGLE_LIST,
  OT_TRIANGLE_STRIP, OT_TRIANGLE_FAN
}
enum  ProjectionType { PT_ORTHOGRAPHIC, PT_PERSPECTIVE }
 Specifies perspective (realistic) or orthographic (architectural) projection. More...
enum  RenderableType {
  RT_UNDEFINED, RT_MODEL, RT_OVERLAY, RT_DEBUG,
  RT_COUNT
}
enum  SceneBlendFactor {
  SBF_ONE, SBF_ZERO, SBF_DEST_COLOR, SBF_SOURCE_COLOR,
  SBF_ONE_MINUS_DEST_COLOR, SBF_ONE_MINUS_SOURCE_COLOR, SBF_DEST_ALPHA, SBF_SOURCE_ALPHA,
  SBF_ONE_MINUS_DEST_ALPHA, SBF_ONE_MINUS_SOURCE_ALPHA
}
enum  SceneBlendType {
  SBT_TRANSPARENT_ALPHA, SBT_TRANSPARENT_COLOR, SBT_ADD, SBT_MODULATE,
  SBT_REPLACE
}
enum  SceneDetailLevel {
  SDL_POINTSONLY, SDL_WIREFRAME, SDL_FLATSHADE, SDL_SMOOTHSHADE,
  SDL_TEXTURED
}
 The broad type of detail this camera will render. More...
enum  ShadeOptions { SO_FLAT, SO_GOURAUD, SO_PHONG }
 Light shading modes. More...
enum  ShaderAutoParameterType {
  SAPT_WORLD_MATRIX, SAPT_INVERSE_WORLD_MATRIX, SAPT_TRANSPOSE_WORLD_MATRIX, SAPT_INVERSE_TRANSPOSE_WORLD_MATRIX,
  SAPT_VIEW_MATRIX, SAPT_INVERSE_VIEW_MATRIX, SAPT_TRANSPOSE_VIEW_MATRIX, SAPT_INVERSE_TRANSPOSE_VIEW_MATRIX,
  SAPT_PROJECTION_MATRIX, SAPT_INVERSE_PROJECTION_MATRIX, SAPT_TRANSPOSE_PROJECTION_MATRIX, SAPT_INVERSE_TRANSPOSE_PROJECTION_MATRIX,
  SAPT_VIEWPROJ_MATRIX, SAPT_INVERSE_VIEWPROJ_MATRIX, SAPT_TRANSPOSE_VIEWPROJ_MATRIX, SAPT_INVERSE_TRANSPOSE_VIEWPROJ_MATRIX,
  SAPT_WORLDVIEW_MATRIX, SAPT_INVERSE_WORLDVIEW_MATRIX, SAPT_TRANSPOSE_WORLDVIEW_MATRIX, SAPT_INVERSE_TRANSPOSE_WORLDVIEW_MATRIX,
  SAPT_WORLDVIEWPROJ_MATRIX, SAPT_INVERSE_WORLDVIEWPROJ_MATRIX, SAPT_TRANSPOSE_WORLDVIEWPROJ_MATRIX, SAPT_INVERSE_TRANSPOSE_WORLDVIEWPROJ_MATRIX,
  SAPT_LIGHT_COUNT, SAPT_LIGHT_POSITION, SAPT_LIGHT_POSITION_OBJECT_SPACE, SAPT_LIGHT_POSITION_VIEW_SPACE,
  SAPT_LIGHT_DIRECTION, SAPT_LIGHT_DIRECTION_OBJECT_SPACE, SAPT_LIGHT_DIRECTION_VIEW_SPACE, SAPT_AMBIENT_LIGHT_COLOUR,
  SAPT_LIGHT_DIFFUSE_COLOUR, SAPT_LIGHT_SPECULAR_COLOUR, SAPT_LIGHT_ATTENUATION, SAPT_LIGHT_POWER_SCALE,
  SAPT_CAMERA_POSITION, SAPT_CAMERA_POSITION_OBJECT_SPACE, SAPT_NONE
}
enum  ShaderParameterType {
  SPT_FLOAT, SPT_FLOAT2, SPT_FLOAT3, SPT_FLOAT4,
  SPT_INT, SPT_INT2, SPT_INT3, SPT_INT4,
  SPT_MATRIX_2X2, SPT_MATRIX_2X3, SPT_MATRIX_2X4, SPT_MATRIX_3X2,
  SPT_MATRIX_3X3, SPT_MATRIX_3X4, SPT_MATRIX_4X2, SPT_MATRIX_4X3,
  SPT_MATRIX_4X4, SPT_SAMPLER1D, SPT_SAMPLER2D, SPT_SAMPLER3D,
  SPT_SAMPLERCUBE, SPT_SAMPLER1DSHADOW, SPT_SAMPLER2DSHADOW, SPT_UNKNOWN
}
enum  ShaderType { ST_VERTEX, ST_FRAGMENT, ST_GEOMETRY, ST_UNKNOWN }
 Enum identifying the shader type. More...
enum  TextureType { TEX_TYPE_1D = 1, TEX_TYPE_2D = 2, TEX_TYPE_3D = 3 }
 Enum identifying the texture type. More...
enum  VertexElementSemantic {
  VES_POSITION, VES_NORMAL, VES_BLEND_WEIGHTS, VES_BLEND_INDICES,
  VES_DIFFUSE, VES_SPECULAR, VES_TEXTURE_COORDINATES, VES_BINORMAL,
  VES_TANGENT
}
 Vertex element semantics, used to identify the meaning of vertex buffer contents. More...
enum  VertexElementType {
  VET_FLOAT1, VET_FLOAT2, VET_FLOAT3, VET_FLOAT4,
  VET_COLOR, VET_SHORT1, VET_SHORT2, VET_SHORT3,
  VET_SHORT4
}
 Vertex element type, used to identify the base types of the vertex contents. More...
enum  VerticalAlignment { VA_TOP, VA_CENTER, VA_BOTTOM }
 Enum describing where '0' is in relation to the parent in the vertical dimension. More...

Detailed Description

In this namespace can be found render management classes like RenderManager, RenderWindow, RenderSystem, and so on.


Enumeration Type Documentation

Enumerator:
A_LEFT 
A_RIGHT 
A_CENTER 

Fog modes.

Enumerator:
FM_NONE 
FM_EXP 

No fog. Duh.

FM_EXP2 

Fog density increases exponentially from the camera (fog = 1/e^(distance * density))

FM_LINEAR 

Fog density increases at the square of FOG_EXP, i.e. even quicker (fog = 1/e^(distance * density)^2)

Fog density increases linearly between the start and end distances

Enumerator:
FT_TRUETYPE 
FT_IMAGE 

Generated from a truetype (.ttf) font.

FT_COUNT 

Loaded from an image created by an artist.

World space clipping planes.

Enumerator:
FRUSTUM_PLANE_NEAR 
FRUSTUM_PLANE_FAR 
FRUSTUM_PLANE_LEFT 
FRUSTUM_PLANE_RIGHT 
FRUSTUM_PLANE_TOP 
FRUSTUM_PLANE_BOTTOM 

Enum describing where '0' is in relation to the parent in the horizontal dimension.

Enumerator:
HA_LEFT 
HA_CENTER 
HA_RIGHT 
Enumerator:
IF_COMPRESSED 
IF_CUBEMAP 
IF_3D_TEXTURE 
Enumerator:
IT_16BIT 
IT_32BIT 

Expert list of valid texture blending operations. It's worth noting that these operations are for blending between texture layers and not between rendered objects and the existing scene.

Enumerator:
LBX_SOURCE1 
LBX_SOURCE2 

use source1 without modification

LBX_MODULATE 

use source2 without modification

LBX_MODULATE_X2 

multiply source1 and source2 together

LBX_MODULATE_X4 

as LBX_MODULATE but brighten afterwards (x2)

LBX_ADD 

as LBX_MODULATE but brighten more afterwards (x4)

LBX_ADD_SIGNED 

add source1 and source2 together

LBX_ADD_SMOOTH 

as LBX_ADD, but subtract 0.5 from the result

LBX_SUBTRACT 

as LBX_ADD, but subtract product from the sum

LBX_BLEND_DIFFUSE_ALPHA 

subtract source2 from source1

LBX_BLEND_TEXTURE_ALPHA 

use interpolated alpha value from vertices to scale source1, then add source2 scaled by (1-alpha)

LBX_BLEND_CURRENT_ALPHA 

as LBX_BLEND_DIFFUSE_ALPHA, but use alpha from texture

LBX_BLEND_MANUAL 

as LBX_BLEND_DIFFUSE_ALPHA, but use current alpha from previous stages

LBX_DOTPRODUCT 

as LBX_BLEND_DIFFUSE_ALPHA but use a constant manual blend value (0.0-1.0)

LBX_BLEND_DIFFUSE_COLOR 

dotproduct of color1 and color2

use interpolated color values from vertices to scale source1, then add source2 scaled by (1-color)

List of valid sources of values for blending operations.

Enumerator:
LBS_CURRENT 
LBS_TEXTURE 

the color as built up from previous stages

LBS_DIFFUSE 

the color derived from the texture assigned to this layer

LBS_SPECULAR 

the interpolated diffuse color from the vertices

LBS_MANUAL 

the interpolated specular color from the vertices

a color supplied manually as a separate argument

Type of texture blend mode.

Enumerator:
LBT_COLOR 
LBT_ALPHA 
Enumerator:
LT_POINT 
LT_DIRECTIONAL 
LT_SPOTLIGHT 
LT_COUNT 
Enumerator:
MM_RELATIVE 
MM_PIXELS 
MM_RELATIVE_ASPECT_ADJUSTED 

Class describing a rendering operation e.g. draw a triangle.

This class encapsulates the description of a rendering operation, including the type (single triangle, list of triangles, triangle strip, etc), the vertex format (e.g. whether vertex colors, texture co-ords are present). Render options like filtering, z-buffer options etc are not provided here, but via, various 'set' methods of the RenderSystem class, since render state changes are typically expensive, so the assumption is that render states will remain fairly constant between rendering operations if possible. Notes on indexed triangle lists: Vertices are not duplicated in the rendering pipeline where they are shared by multiple triangles. Be aware, however, that when sharing vertices ALL aspects are shared, including the vertex normal and texture coordinates which is not always appropriate (e.g. if you want a 'hard' edge to a join, or at the seam of a texture). You should pre-duplicate the vertices where this is a problem with the separate texture and normal values. In all cases, remember that K_Game uses a right-handed world co-ordinate system, (hold your right-hand flat in the X-axis direction and curl your fingers toward the Y-Axis: your thumb points in the positive Z-axis direction). Note that in screen space this gets flipped so higher Z is into the screen. This is a standard system as used by most maths texts and modelling tools (and OpenGL, but not D3D). In addition, the FRONT of triangles is deemed to be the side where the vertices are in counter-clockwise in RH co-ords as viewed from the camera.

Enumerator:
OT_POINT_LIST 
OT_LINE_LIST 
OT_LINE_STRIP 
OT_TRIANGLE_LIST 
OT_TRIANGLE_STRIP 
OT_TRIANGLE_FAN 

Specifies perspective (realistic) or orthographic (architectural) projection.

Enumerator:
PT_ORTHOGRAPHIC 
PT_PERSPECTIVE 
Enumerator:
RT_UNDEFINED 
RT_MODEL 
RT_OVERLAY 
RT_DEBUG 
RT_COUNT 

Blending factors for manually blending objects with the scene. If there isn't a predefined SceneBlendType that you like, then you can specify the blending factors directly to affect the combination of object and the existing scene.

Enumerator:
SBF_ONE 
SBF_ZERO 
SBF_DEST_COLOR 
SBF_SOURCE_COLOR 
SBF_ONE_MINUS_DEST_COLOR 
SBF_ONE_MINUS_SOURCE_COLOR 
SBF_DEST_ALPHA 
SBF_SOURCE_ALPHA 
SBF_ONE_MINUS_DEST_ALPHA 
SBF_ONE_MINUS_SOURCE_ALPHA 

Types of blending that you can specify between an object and the existing contents of the scene.

As opposed to the LayerBlendType, which classifies blends between texture layers, these blending types blend between the output of the texture units and the pixels already in the viewport, allowing for object transparency, glows, etc. These types are provided to give quick and easy access to common effects. You can also use the more manual method of supplying source and destination blending factors.

Enumerator:
SBT_TRANSPARENT_ALPHA 
SBT_TRANSPARENT_COLOR 

Make the object transparent based on the final alpha values in the texture.

SBT_ADD 

Make the object transparent based on the color values in the texture (brighter = more opaque).

SBT_MODULATE 

Add the texture values to the existing scene content.

SBT_REPLACE 

Multiply the 2 colors together.

The default blend mode where source replaces destination.

The broad type of detail this camera will render.

Enumerator:
SDL_POINTSONLY 
SDL_WIREFRAME 
SDL_FLATSHADE 
SDL_SMOOTHSHADE 
SDL_TEXTURED 

Light shading modes.

Enumerator:
SO_FLAT 
SO_GOURAUD 
SO_PHONG 
Enumerator:
SAPT_WORLD_MATRIX 
SAPT_INVERSE_WORLD_MATRIX 

The current world matrix.

SAPT_TRANSPOSE_WORLD_MATRIX 

The current world matrix, inverted.

SAPT_INVERSE_TRANSPOSE_WORLD_MATRIX 

Provides transpose of world matrix.

SAPT_VIEW_MATRIX 

The current world matrix, inverted & transposed.

SAPT_INVERSE_VIEW_MATRIX 

The current view matrix.

SAPT_TRANSPOSE_VIEW_MATRIX 

The current view matrix, inverted.

SAPT_INVERSE_TRANSPOSE_VIEW_MATRIX 

Provides transpose of view matrix.

SAPT_PROJECTION_MATRIX 

Provides inverse transpose of view matrix.

SAPT_INVERSE_PROJECTION_MATRIX 

The current projection matrix.

SAPT_TRANSPOSE_PROJECTION_MATRIX 

Provides inverse of projection matrix.

SAPT_INVERSE_TRANSPOSE_PROJECTION_MATRIX 

Provides transpose of projection matrix.

SAPT_VIEWPROJ_MATRIX 

Provides inverse transpose of projection matrix.

SAPT_INVERSE_VIEWPROJ_MATRIX 

The current view & projection matrices concatenated.

SAPT_TRANSPOSE_VIEWPROJ_MATRIX 

Provides inverse of concatenated view and projection matrices.

SAPT_INVERSE_TRANSPOSE_VIEWPROJ_MATRIX 

Provides transpose of concatenated view and projection matrices.

SAPT_WORLDVIEW_MATRIX 

Provides inverse transpose of concatenated view and projection matrices.

SAPT_INVERSE_WORLDVIEW_MATRIX 

The current world & view matrices concatenated.

SAPT_TRANSPOSE_WORLDVIEW_MATRIX 

The current world & view matrices concatenated, then inverted.

SAPT_INVERSE_TRANSPOSE_WORLDVIEW_MATRIX 

Provides transpose of concatenated world and view matrices.

SAPT_WORLDVIEWPROJ_MATRIX 

The current world & view matrices concatenated, then inverted & transposed.

SAPT_INVERSE_WORLDVIEWPROJ_MATRIX 

The current world, view & projection matrices concatenated.

SAPT_TRANSPOSE_WORLDVIEWPROJ_MATRIX 

Provides inverse of concatenated world, view and projection matrices.

SAPT_INVERSE_TRANSPOSE_WORLDVIEWPROJ_MATRIX 

Provides transpose of concatenated world, view and projection matrices.

SAPT_LIGHT_COUNT 

Provides inverse transpose of concatenated world, view and projection.

SAPT_LIGHT_POSITION 

The number of active light sources.

SAPT_LIGHT_POSITION_OBJECT_SPACE 

A light position in world space.

SAPT_LIGHT_POSITION_VIEW_SPACE 

A light position in object space.

SAPT_LIGHT_DIRECTION 

A light position in view space.

SAPT_LIGHT_DIRECTION_OBJECT_SPACE 

A light direction in world space.

SAPT_LIGHT_DIRECTION_VIEW_SPACE 

A light direction in object space.

SAPT_AMBIENT_LIGHT_COLOUR 

A light direction in view space.

SAPT_LIGHT_DIFFUSE_COLOUR 

The ambient light color set in the scene.

SAPT_LIGHT_SPECULAR_COLOUR 

Light diffuse color.

SAPT_LIGHT_ATTENUATION 

Light specular color.

SAPT_LIGHT_POWER_SCALE 

Light attenuation parameters, Vector4(range, constant, linear, quadric)

SAPT_CAMERA_POSITION 

Light power level.

SAPT_CAMERA_POSITION_OBJECT_SPACE 

The current camera's position in world space.

SAPT_NONE 

The current camera's position in object space.

Enumerator:
SPT_FLOAT 
SPT_FLOAT2 
SPT_FLOAT3 
SPT_FLOAT4 
SPT_INT 
SPT_INT2 
SPT_INT3 
SPT_INT4 
SPT_MATRIX_2X2 
SPT_MATRIX_2X3 
SPT_MATRIX_2X4 
SPT_MATRIX_3X2 
SPT_MATRIX_3X3 
SPT_MATRIX_3X4 
SPT_MATRIX_4X2 
SPT_MATRIX_4X3 
SPT_MATRIX_4X4 
SPT_SAMPLER1D 
SPT_SAMPLER2D 
SPT_SAMPLER3D 
SPT_SAMPLERCUBE 
SPT_SAMPLER1DSHADOW 
SPT_SAMPLER2DSHADOW 
SPT_UNKNOWN 

Enum identifying the shader type.

Enumerator:
ST_VERTEX 
ST_FRAGMENT 
ST_GEOMETRY 
ST_UNKNOWN 

Enum identifying the texture type.

Enumerator:
TEX_TYPE_1D 
TEX_TYPE_2D 

1D texture, used in combination with 1D texture coordinates

TEX_TYPE_3D 

2D texture, used in combination with 2D texture coordinates (default)

Vertex element semantics, used to identify the meaning of vertex buffer contents.

Enumerator:
VES_POSITION 
VES_NORMAL 

Position, 3 reals per vertex.

VES_BLEND_WEIGHTS 

Normal, 3 reals per vertex.

VES_BLEND_INDICES 

Blending weights.

VES_DIFFUSE 

Blending indixes.

VES_SPECULAR 

Diffuse colors.

VES_TEXTURE_COORDINATES 

Specular colors.

VES_BINORMAL 

Texture coordinates.

VES_TANGENT 

Binormal (Y axis if normal is Z)

Tangent (X axis if normal is Z)

Vertex element type, used to identify the base types of the vertex contents.

Enumerator:
VET_FLOAT1 
VET_FLOAT2 
VET_FLOAT3 
VET_FLOAT4 
VET_COLOR 
VET_SHORT1 
VET_SHORT2 
VET_SHORT3 
VET_SHORT4 

Enum describing where '0' is in relation to the parent in the vertical dimension.

Enumerator:
VA_TOP 
VA_CENTER 
VA_BOTTOM 

The KG Game Engine
The KG Game Engine Documentation © 2006-2011 by Kat'Oun. Generated on Sat Jul 2 2011 00:50:08 by Doxygen (1.7.4)