Namespaces | Classes | Typedefs | Enumerations | Functions | Variables

sp::video Namespace Reference

All rendering and drawing operations for 2D and 3D can be found in this namespace. More...

Namespaces

namespace  ImageConverter
 

ImageConverter namespace used for image buffer manipulation. This is particular used in the Texture class (e.g. for "setFormat", "setSize" etc.).


Classes

class  ImageBuffer
class  ImageBufferContainer
class  ImageBufferFloat
class  ImageBufferUByte
struct  SHeightMapTexture
class  IndexFormat
 This is the index format class which specifies how indices are stored on the VRAM. More...
class  color
struct  SPrimitiveVertex
 Primitive vertex structure used for some 2D drawing functions. More...
class  MaterialStates
 MaterialStates class used to store and handle material attributes. More...
struct  SCmpNormalCoord
class  MeshBuffer
struct  SVertexAttribute
 Vertex format attribute structure. More...
class  VertexFormat
 This is the vertex format class which specifies how vertices are stored on the VRAM. More...
class  VertexFormatDefault
class  VertexFormatReduced
class  VertexFormatExtended
class  VertexFormatFull
class  VertexFormatUniversal
class  ComputeShaderIO
class  ConstantBuffer
class  DesktopRenderContext
 Render context class for desktop operating systems such as Windows and Linux. More...
class  DummyRenderSystem
struct  SMovieSequencePacket
class  RenderContext
 Render context class which holds the graphics context objects and the window objects. More...
struct  SGlyph
class  RenderSystem
struct  SFontGlyph
class  Font
class  Movie
class  ShaderClass
struct  SShaderConstant
 Shader constant (or rather uniform) structure. More...
class  Shader
class  SharedRenderContext
 Shared render context base class used for multi-threaded resource creation. More...
class  Texture
struct  STextureCreationFlags
 Texture creation flag structure. This will be used to initialize a texture object. More...
class  TextureLayer
class  TextureLayerRelief
class  TextureLayerStandard
struct  SVideoMode
 This structure stores the resolution and color depth for a supported video mode. More...
struct  SDisplayDevice
 This structure stores the name and description of a connected display device. More...
class  VideoModeEnumerator
class  D3D9IndexBuffer
 Direct3D9 index buffer class for internal usage. More...
class  Direct3D9RenderContext
 Direct3D9 render context. More...
class  Direct3D9RenderSystem
 Direct3D9 render system. This renderer supports Direct3D 9.0c. More...
class  Direct3D9Shader
class  Direct3D9ShaderClass
class  Direct3D9Texture
class  D3D9VertexBuffer
 Direct3D9 vertex buffer class for internal usage. More...
class  Direct3D11ConstantBuffer
class  D3D11DefaultShader
 Direct3D11 render system. This renderer supports Direct3D 11.0. More...
class  D3D11HardwareBuffer
 Direct3D11 hardware buffer (vertex- or index buffer) class for internal usage. More...
class  Direct3D11RenderContext
 Direct3D11 render context. More...
class  Direct3D11RenderSystem
 Direct3D11 render system. This renderer supports Direct3D 11.0. More...
class  Direct3D11Shader
class  Direct3D11ComputeShaderIO
class  Direct3D11ShaderClass
class  Direct3D11Texture
class  OpenGLConstantBuffer
class  GLFramebufferObject
class  GLBasePipeline
 OpenGL base render system. This is the parent class of all OpenGL and OpenGL|ES renderers. More...
class  GLFixedFunctionPipeline
 OpenGL fixed function render system. This is the parent class of all OpenGL and OpenGL|ES renderers. More...
class  GLProgrammableFunctionPipeline
 OpenGL fixed function render system. This is the parent class of all OpenGL and OpenGL|ES renderers. More...
class  OpenGLRenderContext
 OpenGL render context. It's using WGL or GLX to create a context for Windows or Linux. More...
class  OpenGLRenderSystem
 OpenGL render system. This renderer supports OpenGL 1.1 - 4.1. More...
class  OpenGLShader
class  OpenGLShaderClass
class  OpenGLSharedRenderContext
class  OpenGLTexture
class  GLTextureBase
class  OpenGLES1RenderSystem
 OpenGL|ES 1 render system. This renderer supports OpenGL|ES 1.1. More...
class  OpenGLES1Texture
class  OpenGLES2RenderSystem
 OpenGL|ES 2 render system. This renderer supports OpenGL|ES 2.0. More...
class  OpenGLES2Texture
class  OpenGLESRenderContext
 EGL context base for the OpenGL|ES renderers. More...
class  CgShaderClass
class  CgShaderContext
 Class for the "NVIDIA Cg Shader Context". More...
class  CgShaderProgram
 Class for the "NVIDIA Cg Shader Program". More...
class  CgShaderProgramD3D11
class  CgShaderProgramD3D9
class  CgShaderProgramGL
struct  SImageData
struct  SImageDataRead
 Image data for loading. More...
struct  SImageDataWrite
class  ImageLoader
 ImageLoader class used as image loading interface. More...
class  ImageSaver
 ImageSaver class used as image saving interface. More...
class  ImageLoaderBMP
class  ImageLoaderDDS
class  ImageLoaderJPG
class  ImageLoaderPCX
class  ImageLoaderPNG
class  ImageLoaderTGA
class  ImageLoaderWAD
class  ImageSaverBMP
class  OpenCLBuffer
class  OpenCLDevice
class  OpenCLProgram
struct  STextureLayerModel
class  DeferredRenderer
class  GBuffer
class  ShadowMapper
class  BloomEffect
 GBuffer object which contains all textures which are required for a deferred renderer. More...
class  PostProcessingEffect
 Virtual base class for post-processing effects (such as bloom-effect). More...

Typedefs

typedef boost::function< void(scene::Mesh
*Obj, bool isBegin) 
UserMaterialCallback )
typedef boost::function< void(scene::Mesh
*Obj, const std::vector
< MeshBuffer * >
&LODSurfaceList, u32 LODIndex) 
UserRenderCallback )
typedef std::vector
< TextureLayer * > 
TextureLayerListType
 Internally used texture layer list type.
typedef scene::ImageTreeNode
< SGlyph
TGlyphNode
typedef boost::function< void(ShaderClass
*Table, const
scene::MaterialNode *Object) 
ShaderObjectCallback )
typedef boost::function< void(ShaderClass
*Table, const std::vector
< TextureLayer * > &TexLayers) 
ShaderSurfaceCallback )

Enumerations

enum  EImageTurnDegrees { TURNDEGREE_90, TURNDEGREE_180, TURNDEGREE_270 }
 

Methods of image data rotation.

More...
enum  EShadeModeTypes { SHADEMODE_SMOOTH, SHADEMODE_FLAT }
 

Shade modes.

More...
enum  EClearBufferTypes { BUFFER_COLOR = 0x01, BUFFER_DEPTH = 0x02, BUFFER_STENCIL = 0x04, BUFFER_ALL = ~0 }
 

Buffer types which can be cleared.

More...
enum  EFogTypes { FOG_NONE = 0, FOG_STATIC, FOG_VOLUMETRIC }
 

Fog types.

More...
enum  EFogModes { FOG_PALE, FOG_THICK }
 

Fog modes.

More...
enum  ETextureGenFlags {
  TEXGEN_FILTER, TEXGEN_MAGFILTER, TEXGEN_MINFILTER, TEXGEN_MIPMAPFILTER,
  TEXGEN_MIPMAPS, TEXGEN_WRAP, TEXGEN_WRAP_U, TEXGEN_WRAP_V,
  TEXGEN_WRAP_W, TEXGEN_ANISOTROPY
}
 

Texture generation falgs.

More...
enum  EGraphicsVendorIDs {
  VENDOR_UNKNOWN = 0x0000, VENDOR_ATI = 0x1002, VENDOR_NVIDIA = 0x10DE, VENDOR_MATROX = 0x102B,
  VENDOR_3DFX = 0x121A, VENDOR_S3GC = 0x5333, VENDOR_INTEL = 0x8086
}
 

Graphics hardware vendor IDs.

More...
enum  ETextDrawingFlags { TEXT_CENTER_HORZ = 0x0001, TEXT_CENTER_VERT = 0x0002, TEXT_CENTER = TEXT_CENTER_HORZ | TEXT_CENTER_VERT, TEXT_RIGHT_ALIGN = 0x0004 }
 

Text drawing falgs.

More...
enum  EShaderLoadingFlags { SHADERFLAG_ALLOW_INCLUDES = 0x0001 }
 

Shader loading flags. Used when a shader will be loaded from file.

More...
enum  EDefaultTextures { DEFAULT_TEXTURE_TILES = 0, DEFAULT_TEXTURE_COUNT }
enum  ERenderModes { RENDERMODE_NONE, RENDERMODE_DRAWING_2D, RENDERMODE_DRAWING_3D, RENDERMODE_SCENE }
enum  ERenderSystems {
  RENDERER_AUTODETECT, RENDERER_OPENGL, RENDERER_OPENGLES1, RENDERER_OPENGLES2,
  RENDERER_DIRECT3D9, RENDERER_DIRECT3D11, RENDERER_DUMMY
}
 

Supported render systems.

More...
enum  EWireframeTypes { WIREFRAME_POINTS = 0, WIREFRAME_LINES, WIREFRAME_SOLID }
 

Mesh wireframe types for Entities, Sprites and Terrains.

More...
enum  EFaceTypes { FACE_FRONT, FACE_BACK, FACE_BOTH }
 

Triangle face types used for rendering and collision-detection.

More...
enum  EShadingTypes { SHADING_FLAT, SHADING_GOURAUD, SHADING_PHONG, SHADING_PERPIXEL }
 

Shading types for 3D models. Decide about how the normals are computed.

More...
enum  ESizeComparisionTypes {
  CMPSIZE_NEVER = 0, CMPSIZE_EQUAL, CMPSIZE_NOTEQUAL, CMPSIZE_LESS,
  CMPSIZE_LESSEQUAL, CMPSIZE_GREATER, CMPSIZE_GREATEREQUAL, CMPSIZE_ALWAYS
}
 

Size comparisions types for depth- or alpha tests.

More...
enum  EStencilOperations {
  STENCIL_KEEP, STENCIL_ZERO, STENCIL_REPLACE, STENCIL_INCR_CLAMP,
  STENCIL_INCR, STENCIL_DECR_CLAMP, STENCIL_DECR, STENCIL_INVERT
}
enum  EBlendingTypes {
  BLEND_ZERO = 0, BLEND_ONE, BLEND_SRCCOLOR, BLEND_INVSRCCOLOR,
  BLEND_SRCALPHA, BLEND_INVSRCALPHA, BLEND_DESTCOLOR, BLEND_INVDESTCOLOR,
  BLEND_DESTALPHA, BLEND_INVDESTALPHA
}
 

Blending modes for source and destination (or target): Blending = Source * SourceFactor + Dest * DestFactor.

More...
enum  EDefaultBlendingTypes { BLEND_NORMAL, BLEND_BRIGHT, BLEND_DARK }
 

Typical blending combinations.

More...
enum  ETextureEnvTypes {
  TEXENV_MODULATE = 0, TEXENV_REPLACE, TEXENV_ADD, TEXENV_ADDSIGNED,
  TEXENV_SUBTRACT, TEXENV_INTERPOLATE, TEXENV_DOT3
}
 

Texture environment types which tell the renderer how to produce incoming texels (texture pixels) for multi-texturing.

More...
enum  EMappingGenTypes {
  MAPGEN_DISABLE = 0, MAPGEN_OBJECT_LINEAR, MAPGEN_EYE_LINEAR, MAPGEN_SPHERE_MAP,
  MAPGEN_NORMAL_MAP, MAPGEN_REFLECTION_MAP
}
 

Texture coordinate generation types which tell the renderer how to manipulate the vertices' texture coordinates.

More...
enum  EMappingGenCoords {
  MAPGEN_NONE = 0x0000, MAPGEN_S = 0x0001, MAPGEN_T = 0x0002, MAPGEN_R = 0x0004,
  MAPGEN_Q = 0x0008
}
 

Texture mapping generation coordinates.

More...
enum  ERenderStates {
  RENDER_ALPHATEST, RENDER_BLEND, RENDER_COLORMATERIAL, RENDER_CULLFACE,
  RENDER_DEPTH, RENDER_DITHER, RENDER_FOG, RENDER_LIGHTING,
  RENDER_LINESMOOTH, RENDER_MULTISAMPLE, RENDER_NORMALIZE, RENDER_POINTSMOOTH,
  RENDER_RESCALENORMAL, RENDER_SCISSOR, RENDER_STENCIL, RENDER_TEXTURE,
  RENDER_TEXTURECUBEMAP, RENDER_TEXTURE_LOD_BIAS
}
 

Render states to enabled, disable or set video driver configurations in more detail (used for advanced rendering!).

More...
enum  EVideoFeatureQueries {
  QUERY_ANTIALIASING, QUERY_STENCIL_BUFFER, QUERY_VOLUMETRIC_FOG, QUERY_HARDWARE_MESHBUFFER,
  QUERY_HARDWARE_INSTANCING, QUERY_RENDERTARGET, QUERY_MULTI_TEXTURE, QUERY_MULTISAMPLE_TEXTURE,
  QUERY_MULTISAMPLE_RENDERTARGET, QUERY_BILINEAR_FILTER, QUERY_TRILINEAR_FILTER, QUERY_ANISOTROPY_FILTER,
  QUERY_MIPMAPS, QUERY_VOLUMETRIC_TEXTURE, QUERY_CUBEMAP_ARRAY, QUERY_SHADER,
  QUERY_GEOMETRY_SHADER, QUERY_TESSELLATION_SHADER, QUERY_VETEX_PROGRAM, QUERY_FRAGMENT_PROGRAM,
  QUERY_CONSTANT_BUFFER, QUERY_GLSL, QUERY_HLSL, QUERY_VERTEX_SHADER_1_1,
  QUERY_VERTEX_SHADER_2_0, QUERY_VERTEX_SHADER_3_0, QUERY_VERTEX_SHADER_4_0, QUERY_VERTEX_SHADER_4_1,
  QUERY_VERTEX_SHADER_5_0, QUERY_PIXEL_SHADER_1_1, QUERY_PIXEL_SHADER_1_2, QUERY_PIXEL_SHADER_1_3,
  QUERY_PIXEL_SHADER_1_4, QUERY_PIXEL_SHADER_2_0, QUERY_PIXEL_SHADER_3_0, QUERY_PIXEL_SHADER_4_0,
  QUERY_PIXEL_SHADER_4_1, QUERY_PIXEL_SHADER_5_0
}
 

Video feature support queries.

More...
enum  ERenderPrimitives {
  PRIMITIVE_POINTS = 0, PRIMITIVE_LINES, PRIMITIVE_LINE_STRIP, PRIMITIVE_LINE_LOOP,
  PRIMITIVE_TRIANGLES, PRIMITIVE_TRIANGLE_STRIP, PRIMITIVE_TRIANGLE_FAN, PRIMITIVE_QUADS,
  PRIMITIVE_QUAD_STRIP, PRIMITIVE_POLYGON, PRIMITIVE_LINE_STRIP_ADJACENCY, PRIMITIVE_LINES_ADJACENCY,
  PRIMITIVE_TRIANGLE_STRIP_ADJACENCY, PRIMITIVE_TRIANGLES_ADJACENCY, PRIMITIVE_PATCHES
}
 

Renderable primitives with their list order.

More...
enum  EHWBufferUsage { HWBUFFER_STATIC = 0, HWBUFFER_DYNAMIC }
enum  EVertexFormatFlags {
  VERTEXFORMAT_COORD = 0x01, VERTEXFORMAT_COLOR = 0x02, VERTEXFORMAT_NORMAL = 0x04, VERTEXFORMAT_BINORMAL = 0x08,
  VERTEXFORMAT_TANGENT = 0x10, VERTEXFORMAT_FOGCOORD = 0x20, VERTEXFORMAT_TEXCOORDS = 0x40, VERTEXFORMAT_UNIVERSAL = 0x80
}
 

Vertex format flags.

More...
enum  EVertexAttributes {
  ATTRIBUTE_COORD, ATTRIBUTE_COLOR, ATTRIBUTE_NORMAL, ATTRIBUTE_BINORMAL,
  ATTRIBUTE_TANGENT, ATTRIBUTE_FOGCOORD, ATTRIBUTE_TEXCOORD0, ATTRIBUTE_TEXCOORD1,
  ATTRIBUTE_TEXCOORD2, ATTRIBUTE_TEXCOORD3, ATTRIBUTE_TEXCOORD4, ATTRIBUTE_TEXCOORD5,
  ATTRIBUTE_TEXCOORD6, ATTRIBUTE_TEXCOORD7, ATTRIBUTE_UNIVERSAL
}
 

Vertex attribute types.

More...
enum  EFontFlags {
  FONT_BOLD = 0x01, FONT_ITALIC = 0x02, FONT_UNDERLINED = 0x04, FONT_STRIKEOUT = 0x08,
  FONT_SYMBOLS = 0x10, FONT_BITMAP = 0x20
}
 

Font creation flags.

More...
enum  EBuildShaderFlags {
  SHADERBUILD_CG = 0x0002, SHADERBUILD_GLSL = 0x0004, SHADERBUILD_HLSL3 = 0x0008, SHADERBUILD_HLSL5 = 0x0010,
  SHADERBUILD_VERTEX = 0x0100, SHADERBUILD_PIXEL = 0x0200, SHADERBUILD_GEOMETRY = 0x0400, SHADERBUILD_HULL = 0x0800,
  SHADERBUILD_DOMAIN = 0x1000
}
enum  EShaderTypes {
  SHADER_DUMMY, SHADER_VERTEX_PROGRAM, SHADER_PIXEL_PROGRAM, SHADER_VERTEX,
  SHADER_PIXEL, SHADER_GEOMETRY, SHADER_HULL, SHADER_DOMAIN,
  SHADER_COMPUTE
}
 

Shader types.

More...
enum  EConstantTypes {
  CONSTANT_UNKNOWN, CONSTANT_BOOL, CONSTANT_INT, CONSTANT_FLOAT,
  CONSTANT_VECTOR2, CONSTANT_VECTOR3, CONSTANT_VECTOR4, CONSTANT_MATRIX2,
  CONSTANT_MATRIX3, CONSTANT_MATRIX4, CONSTANT_STRUCT
}
 

Shader constant data types.

More...
enum  EShaderVersions {
  DUMMYSHADER_VERSION, GLSL_VERSION_1_20, GLSL_VERSION_1_30, GLSL_VERSION_1_40,
  GLSL_VERSION_1_50, GLSL_VERSION_3_30_6, GLSL_VERSION_4_00_8, HLSL_VERTEX_1_0,
  HLSL_VERTEX_2_0, HLSL_VERTEX_2_a, HLSL_VERTEX_3_0, HLSL_VERTEX_4_0,
  HLSL_VERTEX_4_1, HLSL_VERTEX_5_0, HLSL_PIXEL_1_0, HLSL_PIXEL_1_1,
  HLSL_PIXEL_1_2, HLSL_PIXEL_1_3, HLSL_PIXEL_1_4, HLSL_PIXEL_2_0,
  HLSL_PIXEL_2_a, HLSL_PIXEL_2_b, HLSL_PIXEL_3_0, HLSL_PIXEL_4_0,
  HLSL_PIXEL_4_1, HLSL_PIXEL_5_0, HLSL_GEOMETRY_4_0, HLSL_GEOMETRY_4_1,
  HLSL_GEOMETRY_5_0, HLSL_COMPUTE_4_0, HLSL_COMPUTE_4_1, HLSL_COMPUTE_5_0,
  HLSL_HULL_5_0, HLSL_DOMAIN_5_0, CG_VERSION_2_0
}
 

Shader model versions.

More...
enum  ETextureFilters { FILTER_LINEAR, FILTER_SMOOTH }
 

Texture minification- and magnification filters.

More...
enum  ETextureMipMapFilters { FILTER_BILINEAR, FILTER_TRILINEAR, FILTER_ANISOTROPIC }
 

Texture mip-map filters.

More...
enum  ETextureWrapModes { TEXWRAP_REPEAT, TEXWRAP_MIRROR, TEXWRAP_CLAMP }
 

Texture coordinate wrap modes.

More...
enum  ETextureDimensions {
  TEXTURE_1D = 1, TEXTURE_2D, TEXTURE_3D, TEXTURE_CUBEMAP,
  TEXTURE_1D_ARRAY, TEXTURE_2D_ARRAY, TEXTURE_CUBEMAP_ARRAY
}
 

Texture dimensions.

More...
enum  EHWTextureFormats { HWTEXFORMAT_UBYTE8, HWTEXFORMAT_FLOAT16, HWTEXFORMAT_FLOAT32 }
 

Internal renderer image buffer format for textures.

More...
enum  ECubeMapDirections {
  CUBEMAP_POSITIVE_X = 0, CUBEMAP_NEGATIVE_X, CUBEMAP_POSITIVE_Y, CUBEMAP_NEGATIVE_Y,
  CUBEMAP_POSITIVE_Z, CUBEMAP_NEGATIVE_Z
}
 

Cubemap directions.

More...
enum  EAlphaBlendingTypes { BLENDING_BRIGHT, BLENDING_DARK }
 

Alpha blending types for per-pixel blending in image buffers.

More...
enum  EImageBufferTypes { IMAGEBUFFER_UBYTE, IMAGEBUFFER_FLOAT }
 

Image buffer types.

More...
enum  ERendererDataTypes {
  DATATYPE_FLOAT, DATATYPE_DOUBLE, DATATYPE_BYTE, DATATYPE_SHORT,
  DATATYPE_INT, DATATYPE_UNSIGNED_BYTE, DATATYPE_UNSIGNED_SHORT, DATATYPE_UNSIGNED_INT
}
 

Data types for the renderer (vertex- and index buffer).

More...
enum  ETextureLayerTypes {
  TEXLAYER_BASE, TEXLAYER_STANDARD, TEXLAYER_RELIEF, TEXLAYER_CUSTOM,
  TEXLAYER_DEFAULT = 0xFFFFFFFF
}
 

Standard texture layer types.

More...
enum  ETexLayerVisibleFlags {
  TEXLAYERFLAG_DIFFUSE = 0x00000001, TEXLAYERFLAG_NORMAL = 0x00000002, TEXLAYERFLAG_SPECULAR = 0x00000004, TEXLAYERFLAG_HEIGHT = 0x00000008,
  TEXLAYERFLAG_DEFAULT = 0xFFFFFFFF
}
enum  EPixelFormats {
  PIXELFORMAT_ALPHA = 0, PIXELFORMAT_GRAY, PIXELFORMAT_GRAYALPHA, PIXELFORMAT_RGB,
  PIXELFORMAT_BGR, PIXELFORMAT_RGBA, PIXELFORMAT_BGRA, PIXELFORMAT_DEPTH
}
 

Image buffer pixel formats.

More...
enum  EImageFileFormats {
  IMAGEFORMAT_UNKNOWN, IMAGEFORMAT_BMP, IMAGEFORMAT_JPG, IMAGEFORMAT_PNG,
  IMAGEFORMAT_TGA, IMAGEFORMAT_PCX, IMAGEFORMAT_DDS, IMAGEFORMAT_WAD,
  IMAGEFORMAT_GIF, IMAGEFORMAT_PSD
}
 

Image file formats.

More...
enum  EOpenCLBufferStates { OCLBUFFER_READ, OCLBUFFER_WRITE, OCLBUFFER_READ_WRITE }
 

OpenCL buffer states.

More...
enum  EDeferredRenderFlags {
  DEFERREDFLAG_USE_TEXTURE_MATRIX = 0x0001, DEFERREDFLAG_HAS_SPECULAR_MAP = 0x0002, DEFERREDFLAG_HAS_LIGHT_MAP = 0x0004, DEFERREDFLAG_ALLOW_OVERBLENDING = 0x0008,
  DEFERREDFLAG_NORMAL_MAPPING = 0x0010, DEFERREDFLAG_PARALLAX_MAPPING = 0x0020, DEFERREDFLAG_NORMALMAP_XYZ_H = 0x0040, DEFERREDFLAG_SHADOW_MAPPING = 0x0080,
  DEFERREDFLAG_GLOBAL_ILLUMINATION = 0x0100, DEFERREDFLAG_BLOOM = 0x0200, DEFERREDFLAG_DEBUG_GBUFFER = 0x1000, DEFERREDFLAG_DEBUG_GBUFFER_WORLDPOS = 0x2000,
  DEFERREDFLAG_DEBUG_GBUFFER_TEXCOORDS = 0x4000, DEFERREDFLAG_DEBUG_VIRTUALPOINTLIGHTS = 0x8000
}
 

Deferred rendering flags.

More...

Functions

u32 getAlpha (u32 Color)
u32 getRed (u32 Color)
u32 getGreen (u32 Color)
u32 getBlue (u32 Color)
u32 getColor (u32 Red, u32 Green, u32 Blue, u32 Alpha)

Variables

const c8DEB_ERR_LAYER_RANGE = "Texture layer index out of range"
const c8DEB_ERR_LAYER_INCMP = "Texture layer type incompatible"
const io::stringc d3dDllFileName

Detailed Description

All rendering and drawing operations for 2D and 3D can be found in this namespace.


Typedef Documentation

typedef boost::function<void (ShaderClass* Table, const scene::MaterialNode* Object) sp::video::ShaderObjectCallback)

Construction of the shader object callback function. A shader callback can be used to update the shader constants (or rather variables) before the shader is set and the object rendered. When a ShaderClass is bounded to a Mesh or a Billboard both parameters are always none zero and you do not need to check if they are valid pointers.

Parameters:
Table,: Pointer to a ShaderClass object which is currently used.
Object,: Pointer to a MaterialNode object which is currently used.
typedef boost::function<void (ShaderClass* Table, const std::vector<TextureLayer*> &TexLayers) sp::video::ShaderSurfaceCallback)

Construction of the shader surface callback. This is similar to "PFNSHADEROBJECTCALLBACKPROC" but in this case the callback will be called for each surface. You can update your shader settings for the individual textures.

Internally used texture layer list type.

typedef boost::function<void (scene::Mesh* Obj, bool isBegin) sp::video::UserMaterialCallback)

User material callback for renderable objects.

Parameters:
[in] Obj Pointer to the mesh object which is to be renderd.
[in] isBegin Specifies whether the material setup begins or not. Use this information to enable material settings when the setup begins and disable them when the setup ends.
See also:
scene::Mesh
typedef boost::function<void (scene::Mesh* Obj, const std::vector<MeshBuffer*> &LODSurfaceList, u32 LODIndex) sp::video::UserRenderCallback)

User render callback for renderable objects.

Parameters:
[in] Obj Pointer to the mesh object which is to be renderd.
[in] LODSurfaceList Specifies the LOD (level-of-detail) list of mesh buffers. This is the list which is to be rendered. Which level of detail is used depends on the distance to the view camera.
[in] LODIndex Specifies the level-of-detail index.

Enumeration Type Documentation

Alpha blending types for per-pixel blending in image buffers.

Enumerator:
BLENDING_BRIGHT 

Bright colors are opaque and dark colors are transparent.

BLENDING_DARK 

Dark colors are opaque and bright colors are transparent.

Blending modes for source and destination (or target): Blending = Source * SourceFactor + Dest * DestFactor.

Enumerator:
BLEND_ZERO 

Source & Dest(0, 0, 0, 0).

BLEND_ONE 

Source & Dest(1, 1, 1, 1).

BLEND_SRCCOLOR 

Dest(SourceR, SourceG, SourceB, SourceA).

BLEND_INVSRCCOLOR 

Dest(1 - SourceR, 1 - SourceG, 1 - SourceB, 1 - SourceA).

BLEND_SRCALPHA 

Source & Dest(SourceA, SourceA, SourceA, SourceA).

BLEND_INVSRCALPHA 

Source & Dest(1 - SourceA, 1 - SourceA, 1 - SourceA, 1 - SourceA).

BLEND_DESTCOLOR 

Source(DestR, DestG, DestB, DestA).

BLEND_INVDESTCOLOR 

Source(1 - DestR, 1 - DestG, 1 - DestB, 1 - DestA).

BLEND_DESTALPHA 

Source & Dest(DestA, DestA, DestA, DestA).

BLEND_INVDESTALPHA 

Source & Dest(1 - DestA, 1 - DestA, 1 - DestA, 1 - DestA).

Build shader flags. This is used for the two static functions "ShaderClass::getShaderVersion" and "ShaderClass::build".

Since:
Version 3.2
Enumerator:
SHADERBUILD_CG 
SHADERBUILD_GLSL 
SHADERBUILD_HLSL3 
SHADERBUILD_HLSL5 
SHADERBUILD_VERTEX 
SHADERBUILD_PIXEL 
SHADERBUILD_GEOMETRY 
SHADERBUILD_HULL 
SHADERBUILD_DOMAIN 

Buffer types which can be cleared.

Enumerator:
BUFFER_COLOR 

Color buffer (RGBA format).

BUFFER_DEPTH 

Depth buffer. This buffer is shared with the stencil buffer.

BUFFER_STENCIL 

Stencil buffer. This buffer is shared with the depth buffer.

BUFFER_ALL 

All available buffers are used.

Shader constant data types.

Enumerator:
CONSTANT_UNKNOWN 

Unknown constant type.

CONSTANT_BOOL 

Single Boolean.

CONSTANT_INT 

Single Integer.

CONSTANT_FLOAT 

Single float.

CONSTANT_VECTOR2 

2D float vector.

CONSTANT_VECTOR3 

3D float vector.

CONSTANT_VECTOR4 

4D float vector.

CONSTANT_MATRIX2 

2x2 float matrix.

CONSTANT_MATRIX3 

3x3 float matrix.

CONSTANT_MATRIX4 

4x4 float matrix.

CONSTANT_STRUCT 

Custom structure.

Cubemap directions.

Enumerator:
CUBEMAP_POSITIVE_X 

Position X direction (+X).

CUBEMAP_NEGATIVE_X 

Negative X direction (-X).

CUBEMAP_POSITIVE_Y 

Position Y direction (+Y).

CUBEMAP_NEGATIVE_Y 

Negative Y direction (-Y).

CUBEMAP_POSITIVE_Z 

Position Z direction (+Z).

CUBEMAP_NEGATIVE_Z 

Negative Z direction (-Z).

Typical blending combinations.

Enumerator:
BLEND_NORMAL 

Normal blending.

BLEND_BRIGHT 

Brightness blending (The brighter the color the more visible).

BLEND_DARK 

Darkness blending (The darker the color the more visible).

Default textures will always be created at program start-up.

Since:
Version 3.2
Enumerator:
DEFAULT_TEXTURE_TILES 

2x2 texture with tile mask (black and white). The following ASCII-art demonstrates the image's appearance ('b' represents the black pixels and 'w' the white pixels):

    bw
    wb
DEFAULT_TEXTURE_COUNT 

Deferred rendering flags.

Enumerator:
DEFERREDFLAG_USE_TEXTURE_MATRIX 

Makes use of the texture transformation matrix. This will be used for the diffuse-, specular-, normal- and height map.

DEFERREDFLAG_HAS_SPECULAR_MAP 

Enables individual specular map usage. If this option is enabled every model must have an additional texture (layer 1) with specular information.

DEFERREDFLAG_HAS_LIGHT_MAP 

Enables individual light map usage. If this option is enabled every model must have an addition texture (layer 1 if there is no specular map, otherwise 2) with illumination data. Those lightmaps can be generated with the "SoftPixel Sandbox" or rather the lightmap-generator from this engine.

DEFERREDFLAG_ALLOW_OVERBLENDING 

Allows the lighting to over-blend. By default disabled.

DEFERREDFLAG_NORMAL_MAPPING 

Enables normal-mapping. If this option is enabled every model must have an additional texture (layer 1 if there is no specular map and no light map, otherwise 2 or 3) with normal vector information.

DEFERREDFLAG_PARALLAX_MAPPING 

Enables parallax-occlusion mapping. If this option is enabled every model must have an additional texture (layer 2 if there is no specular map and no light map, otherwise 3 or 4) with height map information. This can be a gray-scaled texture. If the DEFERREDFLAG_NORMALMAP_XYZ_H option is enabled, no height map is needed. In that case the height map information is get from the normal map's alpha channel. This requires normal-mapping (DEFERREDFLAG_NORMAL_MAPPING).

DEFERREDFLAG_NORMALMAP_XYZ_H 

Enables the normal map to also contain the height map data in the alpha channel. This this option is enabled no height map texture is used. This requires parallax-mapping (DEFERREDFLAG_PARALLAX_MAPPING).

DEFERREDFLAG_SHADOW_MAPPING 

Enables shadow mapping. For this technique "variance shadow mapping" (VSM) is used for performance reasons.

DEFERREDFLAG_GLOBAL_ILLUMINATION 

Enables global illumination. For this technique "reflective shadow maps" are used. This requires shadow-mapping (DEFERREDFLAG_SHADOW_MAPPING).

Note:
This is a very time consuming process. It is recommendable to use only one light source with this technique.
Todo:
This is still in progress!
DEFERREDFLAG_BLOOM 

Enables the bloom effect. All glossy surfaces glow intensely.

DEFERREDFLAG_DEBUG_GBUFFER 

This option can be used for debugging purposes. It renders the final image as four viewports containing the color buffer output, normal buffer output, depth buffer output and the final image.

DEFERREDFLAG_DEBUG_GBUFFER_WORLDPOS 

This option can be used for debugging purposes. It renders the world-position for each pixel instead of its distance to the view camera. This requires gbuffer debugging (DEFERREDFLAG_DEBUG_GBUFFER).

DEFERREDFLAG_DEBUG_GBUFFER_TEXCOORDS 

This option can be used for debugging purposes. It renders the texture coordinates as colors for each pixel instead of the diffuse colors. This requires gbuffer debugging (DEFERREDFLAG_DEBUG_GBUFFER).

DEFERREDFLAG_DEBUG_VIRTUALPOINTLIGHTS 

This option can be used for debugging purposes. It renders all virtual points lights as small colored cubes. These virtual points lights are generated from the reflective shadow maps. This requires global illumination (DEFERREDFLAG_GLOBAL_ILLUMINATION).

Triangle face types used for rendering and collision-detection.

Enumerator:
FACE_FRONT 

Front faces are visible (Back face culling). This is used by default.

FACE_BACK 

Back faces are visible (Front face culling).

FACE_BOTH 

Both faces are visible (No face culling).

Fog modes.

Enumerator:
FOG_PALE 

Pale fog mode.

FOG_THICK 

Thick fog mode.

Fog types.

Enumerator:
FOG_NONE 

Disable fog.

FOG_STATIC 

Static fog.

FOG_VOLUMETRIC 

Volumetric fog. This mode is only available if the renderer supports vertex fog coordinates.

Font creation flags.

Enumerator:
FONT_BOLD 

Bold type (text looks fetter).

FONT_ITALIC 

Italic type (text looks cursive).

FONT_UNDERLINED 

Text is underlined.

FONT_STRIKEOUT 

Text is striked out.

FONT_SYMBOLS 

Text may contain special symbols.

FONT_BITMAP 

Uses bitmap font instead of textured font. This is slower and looks worse.

Graphics hardware vendor IDs.

Enumerator:
VENDOR_UNKNOWN 

Unknown vendor.

VENDOR_ATI 

ATI Technologies Inc.

VENDOR_NVIDIA 

NVIDIA Corporation.

VENDOR_MATROX 

Matrox Electronic Systems Ltd.

VENDOR_3DFX 

3dfx Interactive Inc.

VENDOR_S3GC 

S3 Graphics Co., Ltd.

VENDOR_INTEL 

Intel Corporation.

Usage types for hardware buffers (MeshBuffer, ConstantBuffer etc.).

See also:
MeshBuffer
ConstantBuffer
Enumerator:
HWBUFFER_STATIC 

Static usage. Buffer is not modified often. Default usage.

HWBUFFER_DYNAMIC 

Dynamic usage. Buffer is often modified.

Internal renderer image buffer format for textures.

Enumerator:
HWTEXFORMAT_UBYTE8 

8-bit unsigned byte color components (for PIXELFORMAT_DEPTH 16 bit).

HWTEXFORMAT_FLOAT16 

16-bit floating point color components (for PIXELFORMAT_DEPTH 24 bit).

HWTEXFORMAT_FLOAT32 

32-bit floating point color components (for PIXELFORMAT_DEPTH 32 bit).

Image buffer types.

Enumerator:
IMAGEBUFFER_UBYTE 

Unsigned byte (8 bit) for each color component.

IMAGEBUFFER_FLOAT 

Floating point (32 bit) for each color component.

Image file formats.

Enumerator:
IMAGEFORMAT_UNKNOWN 

Unknown file format.

IMAGEFORMAT_BMP 

Windows Bitmap (bmp, dib).

IMAGEFORMAT_JPG 

Joint Photographic Experts (jpg, jpeg, jpe, jfif).

IMAGEFORMAT_PNG 

Portable Network Graphics (png).

IMAGEFORMAT_TGA 

Targa True Image (tga, tpci).

IMAGEFORMAT_PCX 

Picture Exchange (pcx).

IMAGEFORMAT_DDS 

Direct Draw Surface (dds).

IMAGEFORMAT_WAD 

Where is All the Data (wad).

IMAGEFORMAT_GIF 

GraphicsInterchangeFormat (gif) (unsupported, only for identification).

IMAGEFORMAT_PSD 

Adobe Photoshop (psd) (unsupported, only for identification).

Methods of image data rotation.

Enumerator:
TURNDEGREE_90 

Turn 90 degrees.

TURNDEGREE_180 

Turn 180 degrees.

TURNDEGREE_270 

Turn 270 degrees.

Texture mapping generation coordinates.

Enumerator:
MAPGEN_NONE 

No texture coordinate (disabled).

MAPGEN_S 

S texture coordinate (or rather X).

MAPGEN_T 

T texture coordinate (or rather Y).

MAPGEN_R 

R texture coordinate (or rather Z).

MAPGEN_Q 

Q texture coordinate (or rather W).

Texture coordinate generation types which tell the renderer how to manipulate the vertices' texture coordinates.

Enumerator:
MAPGEN_DISABLE 

Texture coordinates will not be manipulated and the user set vertices' texture coordinates are used (by default).

MAPGEN_OBJECT_LINEAR 

Texture coordinates are computed by the local space coordinates.

MAPGEN_EYE_LINEAR 

Texture coordinates are computed by the global space coordinates.

MAPGEN_SPHERE_MAP 

Texture coordinates are computed for sphere mapping.

MAPGEN_NORMAL_MAP 

Texture coordinates are computed for normal mapping.

MAPGEN_REFLECTION_MAP 

Texture coordinates are computed for reflection-/ cube mapping.

OpenCL buffer states.

Enumerator:
OCLBUFFER_READ 

Only read access.

OCLBUFFER_WRITE 

Only write access.

OCLBUFFER_READ_WRITE 

Read and write access.

Image buffer pixel formats.

Enumerator:
PIXELFORMAT_ALPHA 

Alpha channel but no color components.

PIXELFORMAT_GRAY 

Gray scaled. 1 color component.

PIXELFORMAT_GRAYALPHA 

Gray scaled with alpha channel. 2 color components.

PIXELFORMAT_RGB 

Red/ Green/ Blue components in the normal order RGB. 3 color components.

PIXELFORMAT_BGR 

Red/ Green/ Blue components in the inverse order BGR. 3 color components.

PIXELFORMAT_RGBA 

Red/ Green/ Blue components with alpha channel in the normal order RGBA. 4 color components.

PIXELFORMAT_BGRA 

Red/ Green/ Blue components with alpha channel in the inverse order BGRA. 4 color components.

PIXELFORMAT_DEPTH 

Depth component (floating point).

Data types for the renderer (vertex- and index buffer).

Enumerator:
DATATYPE_FLOAT 

32bit floating-point.

DATATYPE_DOUBLE 

64bit fliating-point. This data type is not supported for OpenGL|ES.

DATATYPE_BYTE 

8bit integer.

DATATYPE_SHORT 

16bit integer.

DATATYPE_INT 

32bit integer.

DATATYPE_UNSIGNED_BYTE 

8bit unsigned integer.

DATATYPE_UNSIGNED_SHORT 

16bit unsigned integer.

DATATYPE_UNSIGNED_INT 

32bit unsigned integer. This data type is not supported for OpenGL|ES.

Render modes enumeration. This is used for internal usage to determine when several render states need to change, before rendering primites. This was introduced with version 3.2 to finally remove the begin/endDrawing2D/3D functions.

Since:
Version 3.2
Enumerator:
RENDERMODE_NONE 

No render mode.

RENDERMODE_DRAWING_2D 

Drawing 2D mode.

RENDERMODE_DRAWING_3D 

Drawing 3D mode.

RENDERMODE_SCENE 

3D scene rendering mode.

Renderable primitives with their list order.

Enumerator:
PRIMITIVE_POINTS 

Point list (by default only one pixel).

PRIMITIVE_LINES 

Line list (by default with one pixel width).

PRIMITIVE_LINE_STRIP 

Line strip where each primitive after the first one begins with the previous vertex.

PRIMITIVE_LINE_LOOP 

Line loop which is similiar to line strip but the last primtive ends with the first vertex. (Only supported for OpenGL).

PRIMITIVE_TRIANGLES 

Triangle list.

PRIMITIVE_TRIANGLE_STRIP 

Triangle strip where each primitive after the first one begins with the previous vertex.

PRIMITIVE_TRIANGLE_FAN 

Triangle fan where each primitive use the first vertex, the previous vertex and a new vertex.

PRIMITIVE_QUADS 

Quad list. (Only supported for OpenGL).

PRIMITIVE_QUAD_STRIP 

Quad strip where each primitive after the first one begins with the previous vertex. (Only supported for OpenGL).

PRIMITIVE_POLYGON 

Polygon. This is relatively slow. (Only supported for OpenGL).

PRIMITIVE_LINE_STRIP_ADJACENCY 

Adjacency line strips.

PRIMITIVE_LINES_ADJACENCY 

Adjacency line list.

PRIMITIVE_TRIANGLE_STRIP_ADJACENCY 

Adjacency triangle strips.

PRIMITIVE_TRIANGLES_ADJACENCY 

Adjacency triangle list.

PRIMITIVE_PATCHES 

Patches (main type for tessellation).

Render states to enabled, disable or set video driver configurations in more detail (used for advanced rendering!).

Enumerator:
RENDER_ALPHATEST 

Alpha test: if enabled an incomming pixel will only be rendered if the alpha channel passes the alpha test.

RENDER_BLEND 

Blending: if enabled alpha blending will be proceeded.

RENDER_COLORMATERIAL 

Color material: if enabled the vertices are colored by their vertex color, otherwise the object material color will be used for each vertex.

RENDER_CULLFACE 

Face culling: if enabled a triangle will only be rendered if the front face is visible.

RENDER_DEPTH 

Depth test: if enabled an incomming pixel will only be rendered if the depth value passes the depth test.

RENDER_DITHER 

Dithering: if enabled a color change over will be rendered with dither effect (only with a 8 or 16 bit color format).

RENDER_FOG 

Fog effect: if enabled fog effect is rendered.

RENDER_LIGHTING 

Lighting: if enabled lighting computations are proceeded.

RENDER_LINESMOOTH 

Lines smooth: if enabled 2D and 3D lines are rendered with anti aliasing (or rather smooth).

RENDER_MULTISAMPLE 

Multi sample: if enabled anti-aliasing (or rather multi-sampling) will be proceeded.

RENDER_NORMALIZE 

Normalize: if enabled each vertex's normal will be normalized by the hardware (this is used when objects are scaled).

RENDER_POINTSMOOTH 

Points smooth: if enabled 2D and 3D points are rendered with anti aliasing (or rather smooth).

RENDER_RESCALENORMAL 

Rescale normals: similiar to normalize normals with other calculation equations.

RENDER_SCISSOR 

Scissor: if enabled a scissor rectangle is masked over the screen whereby each primitive (triangles, lines and points) are clipped inside.

RENDER_STENCIL 

Stencil: if enabled an incomming pixel will only be rendered if it passes the stencil test (amongst others used for real-time shadow).

RENDER_TEXTURE 

Texturing: if enabled texturing is activated, otherwise no subsequent 3D object will have any mapped texture.

RENDER_TEXTURECUBEMAP 

Texture cube map: if enabled cube mapping is activated.

RENDER_TEXTURE_LOD_BIAS 

Texture MIP-map LOD bias. Use an unsigned integer for this value. By default 0.

Supported render systems.

Enumerator:
RENDERER_AUTODETECT 

This is not a driver but the engine will choose the best suitable video driver for the operating-system.

RENDERER_OPENGL 

OpenGL 1.1 - 4.1 renderer.

RENDERER_OPENGLES1 

OpenGL|ES 1.1 renderer (only for Android and iOS).

RENDERER_OPENGLES2 

OpenGL|ES 2.0 renderer (only for Android and iOS).

RENDERER_DIRECT3D9 

Direct3D 9.0c renderer (only for MS/Windows).

RENDERER_DIRECT3D11 

Direct3D 11.0 renderer (only for MS/Windows Vista or later). This renderer is backwards compatible to Direct3D 9 and only supported for VisualC++.

RENDERER_DUMMY 

"Dummy" renderer. Just for debugging or other none graphical perposes.

Shade modes.

Enumerator:
SHADEMODE_SMOOTH 

Smooth shading for primitives, particular trianlges (by default).

SHADEMODE_FLAT 

Flat shading where only the last primitive vertex's color is used (no color interpolation).

Shader loading flags. Used when a shader will be loaded from file.

Enumerator:
SHADERFLAG_ALLOW_INCLUDES 

Allows "#include" directives inside the shader files. This may slow down the reading process!

Shader types.

Enumerator:
SHADER_DUMMY 

Dummy shader when shaders are not supported.

SHADER_VERTEX_PROGRAM 

Vertex program since Direct3D 8 and OpenGL 1.3.

SHADER_PIXEL_PROGRAM 

Pixel program since Direct3D 8 and OpenGL 1.3.

SHADER_VERTEX 

Vertex shader since Direct3D 9 and OpenGL 2.

SHADER_PIXEL 

Pixel shader since Direct3D 9 and OpenGL 2.

SHADER_GEOMETRY 

Geometry shader since Direct3D 10 and OpenGL 3.2.

SHADER_HULL 

Hull shader (for tessellation) since Direct3D 11 and OpenGL 4.

SHADER_DOMAIN 

Domain shader (for tessellation) since Direct3D 11 and OpenGL 4.

SHADER_COMPUTE 

DirectCompute shader since Direct3D 11.

Shader model versions.

Enumerator:
DUMMYSHADER_VERSION 
GLSL_VERSION_1_20 

GLSL Shader v.1.20.

GLSL_VERSION_1_30 

GLSL Shader v.1.30.

GLSL_VERSION_1_40 

GLSL Shader v.1.40.

GLSL_VERSION_1_50 

GLSL Shader v.1.50.

GLSL_VERSION_3_30_6 

GLSL Shader v.3.30.6.

GLSL_VERSION_4_00_8 

GLSL Shader v.4.00.8.

HLSL_VERTEX_1_0 

HLSL Vertex Shader v.1.0.

HLSL_VERTEX_2_0 

HLSL Vertex Shader v.2.0.

HLSL_VERTEX_2_a 

HLSL Vertex Shader v.2.a.

HLSL_VERTEX_3_0 

HLSL Vertex Shader v.3.0.

HLSL_VERTEX_4_0 

HLSL Vertex Shader v.4.0.

HLSL_VERTEX_4_1 

HLSL Vertex Shader v.4.1.

HLSL_VERTEX_5_0 

HLSL Vertex Shader v.5.0.

HLSL_PIXEL_1_0 

HLSL Pixel Shader v.1.0.

HLSL_PIXEL_1_1 

HLSL Pixel Shader v.1.1.

HLSL_PIXEL_1_2 

HLSL Pixel Shader v.1.2.

HLSL_PIXEL_1_3 

HLSL Pixel Shader v.1.3.

HLSL_PIXEL_1_4 

HLSL Pixel Shader v.1.4.

HLSL_PIXEL_2_0 

HLSL Pixel Shader v.2.0.

HLSL_PIXEL_2_a 

HLSL Pixel Shader v.2.a.

HLSL_PIXEL_2_b 

HLSL Pixel Shader v.2.b.

HLSL_PIXEL_3_0 

HLSL Pixel Shader v.3.0.

HLSL_PIXEL_4_0 

HLSL Pixel Shader v.4.0.

HLSL_PIXEL_4_1 

HLSL Pixel Shader v.4.1.

HLSL_PIXEL_5_0 

HLSL Pixel Shader v.5.0.

HLSL_GEOMETRY_4_0 

HLSL Geometry Shader v.4.0.

HLSL_GEOMETRY_4_1 

HLSL Geometry Shader v.4.1.

HLSL_GEOMETRY_5_0 

HLSL Geometry Shader v.5.0.

HLSL_COMPUTE_4_0 

HLSL DirectCompute Shader v.4.0.

HLSL_COMPUTE_4_1 

HLSL DirectCompute Shader v.4.1.

HLSL_COMPUTE_5_0 

HLSL DirectCompute Shader v.5.0.

HLSL_HULL_5_0 

HSLL Tessellation Hull Shader v.5.0.

HLSL_DOMAIN_5_0 

HSLL Tessellation Domain Shader v.5.0.

CG_VERSION_2_0 

Cg Shader v.2.0.

Shading types for 3D models. Decide about how the normals are computed.

Enumerator:
SHADING_FLAT 

Flat shading: Normals are computed for each vertex.

SHADING_GOURAUD 

Gouraud shading (by default): Normals are computed for each vertex and smoothed for adjacency triangles.

SHADING_PHONG 

Phong shading: Same like gouraud shading but normals will be normalized for each pixel (only supported with shader).

SHADING_PERPIXEL 

Per pixel shading: Lighting computations are processed for each pixel (only supported with shader).

Size comparisions types for depth- or alpha tests.

Enumerator:
CMPSIZE_NEVER 

Never passes.

CMPSIZE_EQUAL 

Passes if the incoming value is equal to the stored value.

CMPSIZE_NOTEQUAL 

Passes if the incoming value is not equal to the stored value.

CMPSIZE_LESS 

Passes if the incoming value is less than the stored value.

CMPSIZE_LESSEQUAL 

Passes if the incoming value is less than or equal to the stored value.

CMPSIZE_GREATER 

Passes if the incoming value is greater than the stored value.

CMPSIZE_GREATEREQUAL 

Passes if the incoming value is greater than or equal to the stored value.

CMPSIZE_ALWAYS 

Always passes.

Enumerator:
STENCIL_KEEP 

No change in the stencil buffer.

STENCIL_ZERO 

Sets the stencil value to zero.

STENCIL_REPLACE 

Sets the stencil value to the reference value which can be set with "RenderSystem::setStencilMethod".

STENCIL_INCR_CLAMP 

Increments the stencil value and clamps it to the highest possible value (This is the equivalent to GL_INCR in OpenGL and D3DSTENCILOP_INCRSAT in Direct3D 9).

STENCIL_INCR 

Increments the stencil value (This is the equivalent to GL_INCR_WRAP in OpenGL and D3DSTENCILOP_INCR in Direct3D 9).

STENCIL_DECR_CLAMP 

Decrements the stencil value and clamps it to zero (This is the equivalent to GL_DECR in OpenGL and D3DSTENCILOP_DECRSAT in Direct3D 9).

STENCIL_DECR 

Decrements the stencil value (This is the equivalent to GL_DECR_WRAP in OpenGL and D3DSTENCILOP_DECR in Direct3D 9).

STENCIL_INVERT 

Bitwise inversion in the stencil buffer.

This enumeration contains all default texture-layer visiblity masks. You can also use your own bit masks, but it is recommended to use this default masks, so that your texture-layer lists work quite well with default sub render systems (such as the deferred-renderer).

Enumerator:
TEXLAYERFLAG_DIFFUSE 

The texture layer contains a diffuse map.

TEXLAYERFLAG_NORMAL 

The texture layer contains a normal map.

TEXLAYERFLAG_SPECULAR 

The texture layer contains a specular map.

TEXLAYERFLAG_HEIGHT 

The texture layer contains a height map.

TEXLAYERFLAG_DEFAULT 

Default texture layer flag. This is 0xFFFFFFFF.

Text drawing falgs.

Enumerator:
TEXT_CENTER_HORZ 

Centers the text horizontal. This cannot be used together with TEXT_RIGHT_ALIGN.

TEXT_CENTER_VERT 

Centers the text vertical.

TEXT_CENTER 

Centers the text horizontal and vertical.

TEXT_RIGHT_ALIGN 

Aligns the text to the right side. This cannot be used together with TEXT_CENTER_HORZ.

Texture dimensions.

Enumerator:
TEXTURE_1D 

1 dimensional textures (e.g. for Cel-/ Toon Shading).

TEXTURE_2D 

2 dimensional textures (default dimension).

TEXTURE_3D 

3 dimensional textures (with depth information).

TEXTURE_CUBEMAP 

Cube map textures (6 sides: +X, -X, +Y, -Y, +Z, -Z).

TEXTURE_1D_ARRAY 

1 dimensional array textures. Can have several layers.

TEXTURE_2D_ARRAY 

2 dimensional array textures. Can have several layers.

TEXTURE_CUBEMAP_ARRAY 

Cube map array textures. Can have several layers.

Texture environment types which tell the renderer how to produce incoming texels (texture pixels) for multi-texturing.

Enumerator:
TEXENV_MODULATE 

Incoming texels are multiplied by the previous texels (by default).

TEXENV_REPLACE 

Incoming texels replace the previous texels.

TEXENV_ADD 

Incoming texels are added to the previous texels.

TEXENV_ADDSIGNED 

Incoming texels are added minus 0.5 to the previous texels.

TEXENV_SUBTRACT 

Incoming texels are subtracted from the previous texels.

TEXENV_INTERPOLATE 

The texels are calculated by the following equation: [ Tex0 x Tex2 + Tex1 x (1 - Tex2) ], where 'Tex' are the texels from the respective textures.

TEXENV_DOT3 

The texels are calculated for dot3 bump mapping.

Texture minification- and magnification filters.

Enumerator:
FILTER_LINEAR 

Linear texture sampling ('retro style').

FILTER_SMOOTH 

Smooth texture sampling.

Texture generation falgs.

Enumerator:
TEXGEN_FILTER 

Magnification- and minification texture filter. Use a value of the ETextureFilters enumeration.

TEXGEN_MAGFILTER 

Magnification texture filter. Same values as TEXGEN_FILTER.

TEXGEN_MINFILTER 

Minification texture filter. Same values as TEXGEN_FILTER.

TEXGEN_MIPMAPFILTER 

MIP mapping filter. Use a value of the ETextureMipMapFilters enumeration.

TEXGEN_MIPMAPS 

MIP mapping enable/disable. Use a boolean.

TEXGEN_WRAP 

U, V and W wrap mode. Use a value of the ETextureWrapModes enumeration.

TEXGEN_WRAP_U 

U wrap mode (X axis). Same values as TEXGEN_WRAP.

TEXGEN_WRAP_V 

V wrap mode (Y axis). Same values as TEXGEN_WRAP.

TEXGEN_WRAP_W 

W wrap mode (Z axis). Same values as TEXGEN_WRAP.

TEXGEN_ANISOTROPY 

Anisotropy of the anisotropic MIP mapping filter. Use a power of two value (2, 4, 8, 16 etc.).

Standard texture layer types.

Enumerator:
TEXLAYER_BASE 

Base texture layer. This has only the very basics information for texture mapping. It refers to the "TextureLayer" base class.

TEXLAYER_STANDARD 

Standard texture layer. This is the default texture layer for mesh objects. It refers to the "TextureLayerStandard" class.

TEXLAYER_RELIEF 

Texture layer for relief- (or rather parllax-occlusion-) mapping. It refers to the "TextureLayerRelief" class.

TEXLAYER_CUSTOM 

Custom texture layer. If you write your own texture layer, use this type.

TEXLAYER_DEFAULT 

Default texture layer.

See also:
TextureLayer::setDefaultLayerType.

Texture mip-map filters.

Enumerator:
FILTER_BILINEAR 

Bilinear filtering.

FILTER_TRILINEAR 

Trilinear filtering (default).

FILTER_ANISOTROPIC 

Anisotropic filtering.

Texture coordinate wrap modes.

Enumerator:
TEXWRAP_REPEAT 

Texture coordinates are not wraped (default).

TEXWRAP_MIRROR 

Texture coordinates are mirrored.

TEXWRAP_CLAMP 

Texture coordinates are clamped in the range [0.0 .. 1.0) (e.g. used for sky-box and cube-map textures).

Vertex attribute types.

Enumerator:
ATTRIBUTE_COORD 
ATTRIBUTE_COLOR 
ATTRIBUTE_NORMAL 
ATTRIBUTE_BINORMAL 
ATTRIBUTE_TANGENT 
ATTRIBUTE_FOGCOORD 
ATTRIBUTE_TEXCOORD0 
ATTRIBUTE_TEXCOORD1 
ATTRIBUTE_TEXCOORD2 
ATTRIBUTE_TEXCOORD3 
ATTRIBUTE_TEXCOORD4 
ATTRIBUTE_TEXCOORD5 
ATTRIBUTE_TEXCOORD6 
ATTRIBUTE_TEXCOORD7 
ATTRIBUTE_UNIVERSAL 

Vertex format flags.

Enumerator:
VERTEXFORMAT_COORD 

Use vertex coordinate.

VERTEXFORMAT_COLOR 

Use vertex color.

VERTEXFORMAT_NORMAL 

Use vertex normal.

VERTEXFORMAT_BINORMAL 

Use vertex binormal.

VERTEXFORMAT_TANGENT 

Use vertex tangent.

VERTEXFORMAT_FOGCOORD 

Use vertex fog coordinate.

VERTEXFORMAT_TEXCOORDS 

Use vertex texture coordinates.

VERTEXFORMAT_UNIVERSAL 

Use universal components.

Video feature support queries.

Enumerator:
QUERY_ANTIALIASING 

Query if anti-aliasing is supported.

QUERY_STENCIL_BUFFER 

Query if a stencil buffer is supported.

QUERY_VOLUMETRIC_FOG 

Query if volumetric fog coordinates are supported.

QUERY_HARDWARE_MESHBUFFER 

Query if mesh buffers are supported (including vertex- and index buffers).

QUERY_HARDWARE_INSTANCING 

Query if hardware instancing is supported.

QUERY_RENDERTARGET 

Query if render targets (frame-buffer-objects for OpenGL) are supported.

QUERY_MULTI_TEXTURE 

Query if multi-texturing is supported.

QUERY_MULTISAMPLE_TEXTURE 

Query if multisample textures are supported.

QUERY_MULTISAMPLE_RENDERTARGET 

Query if render targets (frame-buffer-objects for OpenGL) are supported.

QUERY_BILINEAR_FILTER 

Query if the bilinear texture filter is supported (low quality).

QUERY_TRILINEAR_FILTER 

Query if the trilinear texture filter is supported (medium quality, by default).

QUERY_ANISOTROPY_FILTER 

Query if the anisotropic texture filter is supported (high quality).

QUERY_MIPMAPS 

Query if texture MIP-mapping is supported.

QUERY_VOLUMETRIC_TEXTURE 

Query if volumetric (or rather 3D-) textures are supported.

QUERY_CUBEMAP_ARRAY 

Query if cubmap texture arrays are supported.

QUERY_SHADER 

Query if shader are generally supported (shader programs, GLSL or HLSL).

QUERY_GEOMETRY_SHADER 

Query if geometry shader are supported.

QUERY_TESSELLATION_SHADER 

Query if tessellation shader are supported.

QUERY_VETEX_PROGRAM 

Query if vertex programs are supported.

QUERY_FRAGMENT_PROGRAM 

Query if pixel programs are supported.

QUERY_CONSTANT_BUFFER 

Query if constant buffers in shaders are supported (Only with OpenGL 3+ and Direct3D 11+).

QUERY_GLSL 

Query if GLSL is supported (only with OpenGL).

QUERY_HLSL 

Query if HLSL is supported (only with DirectX).

QUERY_VERTEX_SHADER_1_1 

Query if HLSL vertex shader version is at least 1.1.

QUERY_VERTEX_SHADER_2_0 

HLSL vertex shader 2.0+.

QUERY_VERTEX_SHADER_3_0 

HLSL vertex shader 3.0+.

QUERY_VERTEX_SHADER_4_0 

HLSL vertex shader 4.0+.

QUERY_VERTEX_SHADER_4_1 

HLSL vertex shader 4.1+.

QUERY_VERTEX_SHADER_5_0 

HLSL vertex shader 5.0+.

QUERY_PIXEL_SHADER_1_1 

Query if HLSL pixel shader version is at least 1.1.

QUERY_PIXEL_SHADER_1_2 

HLSL pixel shader 1.2+.

QUERY_PIXEL_SHADER_1_3 

HLSL pixel shader 1.3+.

QUERY_PIXEL_SHADER_1_4 

HLSL pixel shader 1.4+.

QUERY_PIXEL_SHADER_2_0 

HLSL pixel shader 2.0+.

QUERY_PIXEL_SHADER_3_0 

HLSL pixel shader 3.0+.

QUERY_PIXEL_SHADER_4_0 

HLSL pixel shader 4.0+.

QUERY_PIXEL_SHADER_4_1 

HLSL pixel shader 4.1+.

QUERY_PIXEL_SHADER_5_0 

HLSL pixel shader 5.0+.

Mesh wireframe types for Entities, Sprites and Terrains.

Enumerator:
WIREFRAME_POINTS 

Vertices' positions are rendered in the form of points.

WIREFRAME_LINES 

Triangle's edges are rendered in the form of lines.

WIREFRAME_SOLID 

Triangles are rendered filled (or solid).


Function Documentation

u32 sp::video::getAlpha ( u32  Color  )  [inline]
u32 sp::video::getBlue ( u32  Color  )  [inline]
u32 sp::video::getColor ( u32  Red,
u32  Green,
u32  Blue,
u32  Alpha 
) [inline]
u32 sp::video::getGreen ( u32  Color  )  [inline]
u32 sp::video::getRed ( u32  Color  )  [inline]

Variable Documentation

const c8* sp::video::DEB_ERR_LAYER_INCMP = "Texture layer type incompatible"
const c8* sp::video::DEB_ERR_LAYER_RANGE = "Texture layer index out of range"
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines