Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members | Tutorials

# irr::video Namespace Reference

The video namespace contains classes for accessing the video driver. All 2d and 3d rendering is done here. More...

## Classes
class | IGPUProgrammingServices
| Interface making it possible to create and use programs running on the GPU. More...
class | IImage
| Interface for software image data. More...
class | IImageLoader
| Class which is able to create a image from a file. More...
class | IImageWriter
| Interface for writing software image data. More...
class | IMaterialRenderer
| Interface for material rendering. More...
class | IMaterialRendererServices
| Interface providing some methods for changing advanced, internal states of a IVideoDriver. More...
struct | IRenderTarget
class | IShaderConstantSetCallBack
| Interface making it possible to set constants for gpu programs every frame. More...
class | ITexture
| Interface of a Video Driver dependent Texture. More...
class | IVideoDriver
| Interface to driver which is able to perform 2d and 3d graphics functions. More...
class | IVideoModeList
| A list of all available video modes. More...
struct | S3DVertex
| standard vertex used by the Irrlicht engine. More...
struct | S3DVertex2TCoords
| Vertex with two texture coordinates. More...
struct | S3DVertexTangents
| Vertex with a tangent and binormal vector. More...
class | SColor
| Class representing a 32 bit ARGB color. More...
class | SColorf
| Class representing a color with four floats. More...
class | SColorHSL
| Class representing a color in HSV format. More...
struct | SExposedVideoData
| structure for holding data describing a driver and operating system specific data. More...
struct | SLight
| structure for holding data describing a dynamic point light. More...
class | SMaterial
| Struct for holding parameters for a material renderer. More...
class | SMaterialLayer
| Struct for holding material parameters which exist per texture layer. More...
struct | SOverrideMaterial
## Enumerations
enum | E_ALPHA_SOURCE { EAS_NONE = 0, EAS_VERTEX_COLOR, EAS_TEXTURE }
| Source of the alpha value to take. More...
enum | E_ANTI_ALIASING_MODE { EAAM_OFF = 0, EAAM_SIMPLE = 1, EAAM_QUALITY = 3, EAAM_LINE_SMOOTH = 4, EAAM_POINT_SMOOTH = 8, EAAM_FULL_BASIC = 15, EAAM_ALPHA_TO_COVERAGE = 16 }
| These flags are used to specify the anti-aliasing and smoothing modes. More...
enum | E_BLEND_FACTOR { EBF_ZERO = 0, EBF_ONE, EBF_DST_COLOR, EBF_ONE_MINUS_DST_COLOR, EBF_SRC_COLOR, EBF_ONE_MINUS_SRC_COLOR, EBF_SRC_ALPHA, EBF_ONE_MINUS_SRC_ALPHA, EBF_DST_ALPHA, EBF_ONE_MINUS_DST_ALPHA, EBF_SRC_ALPHA_SATURATE }
| Flag for EMT_ONETEXTURE_BLEND, ( BlendFactor ) BlendFunc = source * sourceFactor + dest * destFactor. More...
enum | E_COLOR_MATERIAL { ECM_NONE = 0, ECM_DIFFUSE, ECM_AMBIENT, ECM_EMISSIVE, ECM_SPECULAR, ECM_DIFFUSE_AND_AMBIENT }
| These flags allow to define the interpretation of vertex color when lighting is enabled. More...
enum | E_COLOR_PLANE { ECP_NONE = 0, ECP_ALPHA = 1, ECP_RED = 2, ECP_GREEN = 4, ECP_BLUE = 8, ECP_RGB = 14, ECP_ALL = 15 }
| Enum values for enabling/disabling color planes for rendering. More...
enum | E_COMPARISON_FUNC { ECFN_NEVER = 0, ECFN_LESSEQUAL = 1, ECFN_EQUAL = 2, ECFN_LESS, ECFN_NOTEQUAL, ECFN_GREATEREQUAL, ECFN_GREATER, ECFN_ALWAYS }
| Comparison function, e.g. for depth buffer test. More...
enum | E_DRIVER_TYPE { EDT_NULL, EDT_SOFTWARE, EDT_BURNINGSVIDEO, EDT_DIRECT3D8, EDT_DIRECT3D9, EDT_OPENGL, EDT_COUNT }
| An enum for all types of drivers the Irrlicht Engine supports. More...
enum | E_FOG_TYPE { EFT_FOG_EXP = 0, EFT_FOG_LINEAR, EFT_FOG_EXP2 }
| Enum for the types of fog distributions to choose from. More...
enum | E_GEOMETRY_SHADER_TYPE { EGST_GS_4_0 = 0, EGST_COUNT }
| Enum for supported geometry shader types. More...
enum | E_INDEX_TYPE { EIT_16BIT = 0, EIT_32BIT }
enum | E_LIGHT_TYPE { ELT_POINT, ELT_SPOT, ELT_DIRECTIONAL }
| Enumeration for different types of lights. More...
enum | E_LOST_RESSOURCE { ELR_DEVICE = 1, ELR_TEXTURES = 2, ELR_RTTS = 4, ELR_HW_BUFFERS = 8 }
| enumeration for signalling ressources which were lost after the last render cycle More...
enum | E_MATERIAL_FLAG { EMF_WIREFRAME = 0x1, EMF_POINTCLOUD = 0x2, EMF_GOURAUD_SHADING = 0x4, EMF_LIGHTING = 0x8, EMF_ZBUFFER = 0x10, EMF_ZWRITE_ENABLE = 0x20, EMF_BACK_FACE_CULLING = 0x40, EMF_FRONT_FACE_CULLING = 0x80, EMF_BILINEAR_FILTER = 0x100, EMF_TRILINEAR_FILTER = 0x200, EMF_ANISOTROPIC_FILTER = 0x400, EMF_FOG_ENABLE = 0x800, EMF_NORMALIZE_NORMALS = 0x1000, EMF_TEXTURE_WRAP = 0x2000, EMF_ANTI_ALIASING = 0x4000, EMF_COLOR_MASK = 0x8000, EMF_COLOR_MATERIAL = 0x10000 }
| Material flags. More...
enum | E_MATERIAL_TYPE { EMT_SOLID = 0, EMT_SOLID_2_LAYER, EMT_LIGHTMAP, EMT_LIGHTMAP_ADD, EMT_LIGHTMAP_M2, EMT_LIGHTMAP_M4, EMT_LIGHTMAP_LIGHTING, EMT_LIGHTMAP_LIGHTING_M2, EMT_LIGHTMAP_LIGHTING_M4, EMT_DETAIL_MAP, EMT_SPHERE_MAP, EMT_REFLECTION_2_LAYER, EMT_TRANSPARENT_ADD_COLOR, EMT_TRANSPARENT_ALPHA_CHANNEL, EMT_TRANSPARENT_ALPHA_CHANNEL_REF, EMT_TRANSPARENT_VERTEX_ALPHA, EMT_TRANSPARENT_REFLECTION_2_LAYER, EMT_NORMAL_MAP_SOLID, EMT_NORMAL_MAP_TRANSPARENT_ADD_COLOR, EMT_NORMAL_MAP_TRANSPARENT_VERTEX_ALPHA, EMT_PARALLAX_MAP_SOLID, EMT_PARALLAX_MAP_TRANSPARENT_ADD_COLOR, EMT_PARALLAX_MAP_TRANSPARENT_VERTEX_ALPHA, EMT_ONETEXTURE_BLEND, EMT_FORCE_32BIT = 0x7fffffff }
| Abstracted and easy to use fixed function/programmable pipeline material modes. More...
enum | E_MODULATE_FUNC { EMFN_MODULATE_1X = 1, EMFN_MODULATE_2X = 2, EMFN_MODULATE_4X = 4 }
| MaterialTypeParam: e.g. DirectX: D3DTOP_MODULATE, D3DTOP_MODULATE2X, D3DTOP_MODULATE4X. More...
enum | E_PIXEL_SHADER_TYPE { EPST_PS_1_1 = 0, EPST_PS_1_2, EPST_PS_1_3, EPST_PS_1_4, EPST_PS_2_0, EPST_PS_2_a, EPST_PS_2_b, EPST_PS_3_0, EPST_PS_4_0, EPST_PS_4_1, EPST_PS_5_0, EPST_COUNT }
| Compile target enumeration for the addHighLevelShaderMaterial() method. More...
enum | E_RENDER_TARGET { ERT_FRAME_BUFFER = 0, ERT_RENDER_TEXTURE, ERT_MULTI_RENDER_TEXTURES, ERT_STEREO_LEFT_BUFFER, ERT_STEREO_RIGHT_BUFFER, ERT_STEREO_BOTH_BUFFERS, ERT_AUX_BUFFER0, ERT_AUX_BUFFER1, ERT_AUX_BUFFER2, ERT_AUX_BUFFER3, ERT_AUX_BUFFER4 }
| Special render targets, which usually map to dedicated hardware. More...
enum | E_TEXTURE_CLAMP { ETC_REPEAT = 0, ETC_CLAMP, ETC_CLAMP_TO_EDGE, ETC_CLAMP_TO_BORDER, ETC_MIRROR, ETC_MIRROR_CLAMP, ETC_MIRROR_CLAMP_TO_EDGE, ETC_MIRROR_CLAMP_TO_BORDER }
| Texture coord clamp mode outside [0.0, 1.0]. More...
enum | E_TEXTURE_CREATION_FLAG { ETCF_ALWAYS_16_BIT = 0x00000001, ETCF_ALWAYS_32_BIT = 0x00000002, ETCF_OPTIMIZED_FOR_QUALITY = 0x00000004, ETCF_OPTIMIZED_FOR_SPEED = 0x00000008, ETCF_CREATE_MIP_MAPS = 0x00000010, ETCF_NO_ALPHA_CHANNEL = 0x00000020, ETCF_ALLOW_NON_POWER_2 = 0x00000040, ETCF_FORCE_32_BIT_DO_NOT_USE = 0x7fffffff }
| Enumeration flags telling the video driver in which format textures should be created. More...
enum | E_TRANSFORMATION_STATE { ETS_VIEW = 0, ETS_WORLD, ETS_PROJECTION, ETS_TEXTURE_0, ETS_TEXTURE_1, ETS_TEXTURE_2, ETS_TEXTURE_3, ETS_COUNT }
| enumeration for geometry transformation states More...
enum | E_VERTEX_SHADER_TYPE { EVST_VS_1_1 = 0, EVST_VS_2_0, EVST_VS_2_a, EVST_VS_3_0, EVST_VS_4_0, EVST_VS_4_1, EVST_VS_5_0, EVST_COUNT }
| Compile target enumeration for the addHighLevelShaderMaterial() method. More...
enum | E_VERTEX_TYPE { EVT_STANDARD = 0, EVT_2TCOORDS, EVT_TANGENTS }
| Enumeration for all vertex types there are. More...
enum | E_VIDEO_DRIVER_FEATURE { EVDF_RENDER_TO_TARGET = 0, EVDF_HARDWARE_TL, EVDF_MULTITEXTURE, EVDF_BILINEAR_FILTER, EVDF_MIP_MAP, EVDF_MIP_MAP_AUTO_UPDATE, EVDF_STENCIL_BUFFER, EVDF_VERTEX_SHADER_1_1, EVDF_VERTEX_SHADER_2_0, EVDF_VERTEX_SHADER_3_0, EVDF_PIXEL_SHADER_1_1, EVDF_PIXEL_SHADER_1_2, EVDF_PIXEL_SHADER_1_3, EVDF_PIXEL_SHADER_1_4, EVDF_PIXEL_SHADER_2_0, EVDF_PIXEL_SHADER_3_0, EVDF_ARB_VERTEX_PROGRAM_1, EVDF_ARB_FRAGMENT_PROGRAM_1, EVDF_ARB_GLSL, EVDF_HLSL, EVDF_TEXTURE_NSQUARE, EVDF_TEXTURE_NPOT, EVDF_FRAMEBUFFER_OBJECT, EVDF_VERTEX_BUFFER_OBJECT, EVDF_ALPHA_TO_COVERAGE, EVDF_COLOR_MASK, EVDF_MULTIPLE_RENDER_TARGETS, EVDF_MRT_BLEND, EVDF_MRT_COLOR_MASK, EVDF_MRT_BLEND_FUNC, EVDF_GEOMETRY_SHADER, EVDF_COUNT }
| enumeration for querying features of the video driver. More...
enum | ECOLOR_FORMAT { ECF_A1R5G5B5 = 0, ECF_R5G6B5, ECF_R8G8B8, ECF_A8R8G8B8, ECF_R16F, ECF_G16R16F, ECF_A16B16G16R16F, ECF_R32F, ECF_G32R32F, ECF_A32B32G32R32F, ECF_UNKNOWN }
| An enum for the color format of textures used by the Irrlicht Engine. More...
## Functions
u32 | A1R5G5B5toA8R8G8B8 (u16 color)
| Convert A8R8G8B8 Color from A1R5G5B5 color.
u16 | A1R5G5B5toR5G6B5 (u16 color)
| Returns R5G6B5 Color from A1R5G5B5 color.
u16 | A8R8G8B8toA1R5G5B5 (u32 color)
| Converts a 32bit (A8R8G8B8) color to a 16bit A1R5G5B5 color.
u16 | A8R8G8B8toR5G6B5 (u32 color)
| Converts a 32bit (A8R8G8B8) color to a 16bit R5G6B5 color.
u32 | getAlpha (u16 color)
| Returns the alpha component from A1R5G5B5 color.
s32 | getAverage (s16 color)
| Returns the average from a 16 bit A1R5G5B5 color.
u32 | getBlue (u16 color)
| Returns the blue component from A1R5G5B5 color.
u32 | getGreen (u16 color)
| Returns the green component from A1R5G5B5 color.
u32 | getRed (u16 color)
| Returns the red component from A1R5G5B5 color.
u32 | getVertexPitchFromType (E_VERTEX_TYPE vertexType)
f32 | pack_texureBlendFunc (const E_BLEND_FACTOR srcFact, const E_BLEND_FACTOR dstFact, const E_MODULATE_FUNC modulate=EMFN_MODULATE_1X, const u32 alphaSource=EAS_TEXTURE)
| EMT_ONETEXTURE_BLEND: pack srcFact, dstFact, Modulate and alpha source to MaterialTypeParam.
u16 | R5G6B5toA1R5G5B5 (u16 color)
| Returns A1R5G5B5 Color from R5G6B5 color.
u32 | R5G6B5toA8R8G8B8 (u16 color)
| Returns A8R8G8B8 Color from R5G6B5 color.
u16 | RGB16 (u32 r, u32 g, u32 b)
| Creates a 16 bit A1R5G5B5 color.
u16 | RGB16from16 (u16 r, u16 g, u16 b)
| Creates a 16bit A1R5G5B5 color, based on 16bit input values.
u16 | RGBA16 (u32 r, u32 g, u32 b, u32 a=0xFF)
| Creates a 16 bit A1R5G5B5 color.
bool | textureBlendFunc_hasAlpha (const E_BLEND_FACTOR factor)
| EMT_ONETEXTURE_BLEND: has BlendFactor Alphablending.
void | unpack_texureBlendFunc (E_BLEND_FACTOR &srcFact, E_BLEND_FACTOR &dstFact, E_MODULATE_FUNC &modulo, u32 &alphaSource, const f32 param)
| EMT_ONETEXTURE_BLEND: unpack srcFact & dstFact and Modulo to MaterialTypeParam.
u16 | X8R8G8B8toA1R5G5B5 (u32 color)
| Converts a 32bit (X8R8G8B8) color to a 16bit A1R5G5B5 color.
## Variables
const c8 *const | FogTypeNames []
const c8 *const | GEOMETRY_SHADER_TYPE_NAMES []
| String names for supported geometry shader types.
IRRLICHT_API SMaterial | IdentityMaterial
| global const identity Material
const c8 *const | LightTypeNames []
| Names for light types.
const u32 | MATERIAL_MAX_TEXTURES = _IRR_MATERIAL_MAX_TEXTURES_
| Maximum number of texture an SMaterial can have.
const c8 *const | PIXEL_SHADER_TYPE_NAMES []
| Names for all pixel shader types, each entry corresponds to a E_PIXEL_SHADER_TYPE entry.
const char *const | sBuiltInMaterialTypeNames []
| Array holding the built in material type names.
const char *const | sBuiltInVertexTypeNames []
| Array holding the built in vertex type names.
const c8 *const | VERTEX_SHADER_TYPE_NAMES []
| Names for all vertex shader types, each entry corresponds to a E_VERTEX_SHADER_TYPE entry.

## Detailed Description

The video namespace contains classes for accessing the video driver. All 2d and 3d rendering is done here.

## Enumeration Type Documentation

enum irr::video::E_ALPHA_SOURCE

Source of the alpha value to take.

This is currently only supported in EMT_ONETEXTURE_BLEND. You can use an or'ed combination of values. Alpha values are modulated (multiplicated).

Enumerator:

  EAS_NONE | Use no alpha, somewhat redundant with other settings.
  EAS_VERTEX_COLOR | Use vertex color alpha.
  EAS_TEXTURE | Use texture alpha channel.

Definition at line 89 of file SMaterial.h.

enum irr::video::E_ANTI_ALIASING_MODE

These flags are used to specify the anti-aliasing and smoothing modes.

Techniques supported are multisampling, geometry smoothing, and alpha to coverage. Some drivers don't support a per-material setting of the anti-aliasing modes. In those cases, FSAA/multisampling is defined by the device mode chosen upon creation via irr::SIrrCreationParameters.

Enumerator:

  EAAM_OFF | Use to turn off anti-aliasing for this material.
  EAAM_SIMPLE | Default anti-aliasing mode.
  EAAM_QUALITY | High-quality anti-aliasing, not always supported, automatically enables SIMPLE mode.
  EAAM_LINE_SMOOTH | Line smoothing.
  EAAM_POINT_SMOOTH | point smoothing, often in software and slow, only with OpenGL
  EAAM_FULL_BASIC | All typical anti-alias and smooth modes.
  EAAM_ALPHA_TO_COVERAGE | Enhanced anti-aliasing for transparent materials. Usually used with EMT_TRANSPARENT_ALPHA_REF and multisampling.

Definition at line 143 of file SMaterial.h.

enum irr::video::E_BLEND_FACTOR

Flag for EMT_ONETEXTURE_BLEND, ( BlendFactor ) BlendFunc = source * sourceFactor + dest * destFactor.

Enumerator:

  EBF_ZERO | src & dest (0, 0, 0, 0)
  EBF_ONE | src & dest (1, 1, 1, 1)
  EBF_DST_COLOR | src (destR, destG, destB, destA)
  EBF_ONE_MINUS_DST_COLOR | src (1-destR, 1-destG, 1-destB, 1-destA)
  EBF_SRC_COLOR | dest (srcR, srcG, srcB, srcA)
  EBF_ONE_MINUS_SRC_COLOR | dest (1-srcR, 1-srcG, 1-srcB, 1-srcA)
  EBF_SRC_ALPHA | src & dest (srcA, srcA, srcA, srcA)
  EBF_ONE_MINUS_SRC_ALPHA | src & dest (1-srcA, 1-srcA, 1-srcA, 1-srcA)
  EBF_DST_ALPHA | src & dest (destA, destA, destA, destA)
  EBF_ONE_MINUS_DST_ALPHA | src & dest (1-destA, 1-destA, 1-destA, 1-destA)
  EBF_SRC_ALPHA_SATURATE | src (min(srcA, 1-destA), idem, ...)

Definition at line 23 of file SMaterial.h.

enum irr::video::E_COLOR_MATERIAL

These flags allow to define the interpretation of vertex color when lighting is enabled.

Without lighting being enabled the vertex color is the only value defining the fragment color. Once lighting is enabled, the four values for diffuse, ambient, emissive, and specular take over. With these flags it is possible to define which lighting factor shall be defined by the vertex color instead of the lighting factor which is the same for all faces of that material. The default is to use vertex color for the diffuse value, another pretty common value is to use vertex color for both diffuse and ambient factor.

Enumerator:

  ECM_NONE | Don't use vertex color for lighting.
  ECM_DIFFUSE | Use vertex color for diffuse light, this is default.
  ECM_AMBIENT | Use vertex color for ambient light.
  ECM_EMISSIVE | Use vertex color for emissive light.
  ECM_SPECULAR | Use vertex color for specular light.
  ECM_DIFFUSE_AND_AMBIENT | Use vertex color for both diffuse and ambient light.

Definition at line 169 of file SMaterial.h.

enum irr::video::E_COLOR_PLANE

Enum values for enabling/disabling color planes for rendering.

Enumerator:

  ECP_NONE | No color enabled.
  ECP_ALPHA | Alpha enabled.
  ECP_RED | Red enabled.
  ECP_GREEN | Green enabled.
  ECP_BLUE | Blue enabled.
  ECP_RGB | All colors, no alpha.
  ECP_ALL | All planes enabled.

Definition at line 68 of file SMaterial.h.

enum irr::video::E_COMPARISON_FUNC

Comparison function, e.g. for depth buffer test.

Enumerator:

  ECFN_NEVER | Test never succeeds, this equals disable.
  ECFN_LESSEQUAL | <= test, default for e.g. depth test
  ECFN_EQUAL | Exact equality.
  ECFN_LESS | exclusive less comparison, i.e. <
  ECFN_NOTEQUAL | Succeeds almost always, except for exact equality.
  ECFN_GREATEREQUAL | >= test
  ECFN_GREATER | inverse of <=
  ECFN_ALWAYS | test succeeds always

Definition at line 47 of file SMaterial.h.

enum irr::video::E_DRIVER_TYPE

An enum for all types of drivers the Irrlicht Engine supports.

Enumerator:

  EDT_NULL | Null driver, useful for applications to run the engine without visualisation. The null device is able to load textures, but does not render and display any graphics.
  EDT_SOFTWARE | The Irrlicht Engine Software renderer. Runs on all platforms, with every hardware. It should only be used for 2d graphics, but it can also perform some primitive 3d functions. These 3d drawing functions are quite fast, but very inaccurate, and don't even support clipping in 3D mode.
  EDT_BURNINGSVIDEO | The Burning's Software Renderer, an alternative software renderer. Basically it can be described as the Irrlicht Software renderer on steroids. It rasterizes 3D geometry perfectly: It is able to perform correct 3d clipping, perspective correct texture mapping, perspective correct color mapping, and renders sub pixel correct, sub texel correct primitives. In addition, it does bilinear texel filtering and supports more materials than the EDT_SOFTWARE driver. This renderer has been written entirely by Thomas Alten, thanks a lot for this huge contribution.
  EDT_DIRECT3D8 | Direct3D8 device, only available on Win32 platforms. Performs hardware accelerated rendering of 3D and 2D primitives.
  EDT_DIRECT3D9 | Direct3D 9 device, only available on Win32 platforms. Performs hardware accelerated rendering of 3D and 2D primitives.
  EDT_OPENGL | OpenGL device, available on most platforms. Performs hardware accelerated rendering of 3D and 2D primitives.
  EDT_COUNT | No driver, just for counting the elements.

Definition at line 14 of file EDriverTypes.h.

enum irr::video::E_FOG_TYPE

Enum for the types of fog distributions to choose from.

Enumerator:

  EFT_FOG_EXP |
  EFT_FOG_LINEAR |
  EFT_FOG_EXP2 |

Definition at line 130 of file IVideoDriver.h.

enum irr::video::E_GEOMETRY_SHADER_TYPE

Enum for supported geometry shader types.

Enumerator:

  EGST_GS_4_0 |
  EGST_COUNT | This is not a type, but a value indicating how much types there are.

Definition at line 72 of file EShaderTypes.h.

enum irr::video::E_INDEX_TYPE

Enumerator:

  EIT_16BIT |
  EIT_32BIT |

Definition at line 15 of file SVertexIndex.h.

enum irr::video::E_LIGHT_TYPE

Enumeration for different types of lights.

Enumerator:

  ELT_POINT | point light, it has a position in space and radiates light in all directions
  ELT_SPOT | spot light, it has a position in space, a direction, and a limited cone of influence
  ELT_DIRECTIONAL | directional light, coming from a direction from an infinite distance

Definition at line 16 of file SLight.h.

enum irr::video::E_LOST_RESSOURCE

enumeration for signalling ressources which were lost after the last render cycle

These values can be signalled by the driver, telling the app that some ressources were lost and need to be recreated. Irrlicht will sometimes recreate the actual objects, but the content needs to be recreated by the application.

Enumerator:

  ELR_DEVICE | The whole device/driver is lost.
  ELR_TEXTURES | All texture are lost, rare problem.
  ELR_RTTS | The Render Target Textures are lost, typical problem for D3D.
  ELR_HW_BUFFERS | The HW buffers are lost, will be recreated automatically, but might require some more time this frame.

Definition at line 89 of file IVideoDriver.h.

enum irr::video::E_MATERIAL_FLAG

Material flags.

Enumerator:

  EMF_WIREFRAME | Draw as wireframe or filled triangles? Default: false.
  EMF_POINTCLOUD | Draw as point cloud or filled triangles? Default: false.
  EMF_GOURAUD_SHADING | Flat or Gouraud shading? Default: true.
  EMF_LIGHTING | Will this material be lighted? Default: true.
  EMF_ZBUFFER | Is the ZBuffer enabled? Default: true.
  EMF_ZWRITE_ENABLE | May be written to the zbuffer or is it readonly. Default: true. This flag is ignored, if the material type is a transparent type.
  EMF_BACK_FACE_CULLING | Is backface culling enabled? Default: true.
  EMF_FRONT_FACE_CULLING | Is frontface culling enabled? Default: false. Overrides EMF_BACK_FACE_CULLING if both are enabled.
  EMF_BILINEAR_FILTER | Is bilinear filtering enabled? Default: true.
  EMF_TRILINEAR_FILTER | Is trilinear filtering enabled? Default: false. If the trilinear filter flag is enabled, the bilinear filtering flag is ignored.
  EMF_ANISOTROPIC_FILTER | Is anisotropic filtering? Default: false. In Irrlicht you can use anisotropic texture filtering in conjunction with bilinear or trilinear texture filtering to improve rendering results. Primitives will look less blurry with this flag switched on.
  EMF_FOG_ENABLE | Is fog enabled? Default: false.
  EMF_NORMALIZE_NORMALS | Normalizes normals. Default: false. You can enable this if you need to scale a dynamic lighted model. Usually, its normals will get scaled too then and it will get darker. If you enable the EMF_NORMALIZE_NORMALS flag, the normals will be normalized again, and the model will look as bright as it should.
  EMF_TEXTURE_WRAP | Access to all layers texture wrap settings. Overwrites separate layer settings.
  EMF_ANTI_ALIASING | AntiAliasing mode.
  EMF_COLOR_MASK | ColorMask bits, for enabling the color planes.
  EMF_COLOR_MATERIAL | ColorMaterial enum for vertex color interpretation.

Definition at line 14 of file EMaterialFlags.h.

enum irr::video::E_MATERIAL_TYPE

Abstracted and easy to use fixed function/programmable pipeline material modes.

Enumerator:

  EMT_SOLID | Standard solid material. Only first texture is used, which is supposed to be the diffuse material.
  EMT_SOLID_2_LAYER | Solid material with 2 texture layers. The second is blended onto the first using the alpha value of the vertex colors. This material is currently not implemented in OpenGL.
  EMT_LIGHTMAP | Material type with standard lightmap technique. There should be 2 textures: The first texture layer is a diffuse map, the second is a light map. Dynamic light is ignored.
  EMT_LIGHTMAP_ADD | Material type with lightmap technique like EMT_LIGHTMAP. But lightmap and diffuse texture are added instead of modulated.
  EMT_LIGHTMAP_M2 | Material type with standard lightmap technique. There should be 2 textures: The first texture layer is a diffuse map, the second is a light map. Dynamic light is ignored. The texture colors are effectively multiplied by 2 for brightening. Like known in DirectX as D3DTOP_MODULATE2X.
  EMT_LIGHTMAP_M4 | Material type with standard lightmap technique. There should be 2 textures: The first texture layer is a diffuse map, the second is a light map. Dynamic light is ignored. The texture colors are effectively multiplyied by 4 for brightening. Like known in DirectX as D3DTOP_MODULATE4X.
  EMT_LIGHTMAP_LIGHTING | Like EMT_LIGHTMAP, but also supports dynamic lighting.
  EMT_LIGHTMAP_LIGHTING_M2 | Like EMT_LIGHTMAP_M2, but also supports dynamic lighting.
  EMT_LIGHTMAP_LIGHTING_M4 | Like EMT_LIGHTMAP_4, but also supports dynamic lighting.
  EMT_DETAIL_MAP | Detail mapped material. The first texture is diffuse color map, the second is added to this and usually displayed with a bigger scale value so that it adds more detail. The detail map is added to the diffuse map using ADD_SIGNED, so that it is possible to add and substract color from the diffuse map. For example a value of (127,127,127) will not change the appearance of the diffuse map at all. Often used for terrain rendering.
  EMT_SPHERE_MAP | Look like a reflection of the environment around it. To make this possible, a texture called 'sphere map' is used, which must be set as the first texture.
  EMT_REFLECTION_2_LAYER | A reflecting material with an optional non reflecting texture layer. The reflection map should be set as first texture.
  EMT_TRANSPARENT_ADD_COLOR | A transparent material. Only the first texture is used. The new color is calculated by simply adding the source color and the dest color. This means if for example a billboard using a texture with black background and a red circle on it is drawn with this material, the result is that only the red circle will be drawn a little bit transparent, and everything which was black is 100% transparent and not visible. This material type is useful for particle effects.
  EMT_TRANSPARENT_ALPHA_CHANNEL | Makes the material transparent based on the texture alpha channel. The final color is blended together from the destination color and the texture color, using the alpha channel value as blend factor. Only first texture is used. If you are using this material with small textures, it is a good idea to load the texture in 32 bit mode (video::IVideoDriver::setTextureCreationFlag()). Also, an alpha ref is used, which can be manipulated using SMaterial::MaterialTypeParam. This value controls how sharp the edges become when going from a transparent to a solid spot on the texture.
  EMT_TRANSPARENT_ALPHA_CHANNEL_REF | Makes the material transparent based on the texture alpha channel. If the alpha channel value is greater than 127, a pixel is written to the target, otherwise not. This material does not use alpha blending and is a lot faster than EMT_TRANSPARENT_ALPHA_CHANNEL. It is ideal for drawing stuff like leafes of plants, because the borders are not blurry but sharp. Only first texture is used. If you are using this material with small textures and 3d object, it is a good idea to load the texture in 32 bit mode (video::IVideoDriver::setTextureCreationFlag()).
  EMT_TRANSPARENT_VERTEX_ALPHA | Makes the material transparent based on the vertex alpha value.
  EMT_TRANSPARENT_REFLECTION_2_LAYER | A transparent reflecting material with an optional additional non reflecting texture layer. The reflection map should be set as first texture. The transparency depends on the alpha value in the vertex colors. A texture which will not reflect can be set as second texture. Please note that this material type is currently not 100% implemented in OpenGL.
  EMT_NORMAL_MAP_SOLID | A solid normal map renderer. First texture is the color map, the second should be the normal map. Note that you should use this material only when drawing geometry consisting of vertices of type S3DVertexTangents (EVT_TANGENTS). You can convert any mesh into this format using IMeshManipulator::createMeshWithTangents() (See SpecialFX2 Tutorial). This shader runs on vertex shader 1.1 and pixel shader 1.1 capable hardware and falls back to a fixed function lighted material if this hardware is not available. Only two lights are supported by this shader, if there are more, the nearest two are chosen.
  EMT_NORMAL_MAP_TRANSPARENT_ADD_COLOR | A transparent normal map renderer. First texture is the color map, the second should be the normal map. Note that you should use this material only when drawing geometry consisting of vertices of type S3DVertexTangents (EVT_TANGENTS). You can convert any mesh into this format using IMeshManipulator::createMeshWithTangents() (See SpecialFX2 Tutorial). This shader runs on vertex shader 1.1 and pixel shader 1.1 capable hardware and falls back to a fixed function lighted material if this hardware is not available. Only two lights are supported by this shader, if there are more, the nearest two are chosen.
  EMT_NORMAL_MAP_TRANSPARENT_VERTEX_ALPHA | A transparent (based on the vertex alpha value) normal map renderer. First texture is the color map, the second should be the normal map. Note that you should use this material only when drawing geometry consisting of vertices of type S3DVertexTangents (EVT_TANGENTS). You can convert any mesh into this format using IMeshManipulator::createMeshWithTangents() (See SpecialFX2 Tutorial). This shader runs on vertex shader 1.1 and pixel shader 1.1 capable hardware and falls back to a fixed function lighted material if this hardware is not available. Only two lights are supported by this shader, if there are more, the nearest two are chosen.
  EMT_PARALLAX_MAP_SOLID | Just like EMT_NORMAL_MAP_SOLID, but uses parallax mapping. Looks a lot more realistic. This only works when the hardware supports at least vertex shader 1.1 and pixel shader 1.4. First texture is the color map, the second should be the normal map. The normal map texture should contain the height value in the alpha component. The IVideoDriver::makeNormalMapTexture() method writes this value automatically when creating normal maps from a heightmap when using a 32 bit texture. The height scale of the material (affecting the bumpiness) is being controlled by the SMaterial::MaterialTypeParam member. If set to zero, the default value (0.02f) will be applied. Otherwise the value set in SMaterial::MaterialTypeParam is taken. This value depends on with which scale the texture is mapped on the material. Too high or low values of MaterialTypeParam can result in strange artifacts.
  EMT_PARALLAX_MAP_TRANSPARENT_ADD_COLOR | A material like EMT_PARALLAX_MAP_SOLID, but transparent. Using EMT_TRANSPARENT_ADD_COLOR as base material.
  EMT_PARALLAX_MAP_TRANSPARENT_VERTEX_ALPHA | A material like EMT_PARALLAX_MAP_SOLID, but transparent. Using EMT_TRANSPARENT_VERTEX_ALPHA as base material.
  EMT_ONETEXTURE_BLEND | BlendFunc = source * sourceFactor + dest * destFactor ( E_BLEND_FUNC ). Using only first texture. Generic blending method.
  EMT_FORCE_32BIT | This value is not used. It only forces this enumeration to compile to 32 bit.

Definition at line 14 of file EMaterialTypes.h.

enum irr::video::E_MODULATE_FUNC

MaterialTypeParam: e.g. DirectX: D3DTOP_MODULATE, D3DTOP_MODULATE2X, D3DTOP_MODULATE4X.

Enumerator:

  EMFN_MODULATE_1X |
  EMFN_MODULATE_2X |
  EMFN_MODULATE_4X |

Definition at line 39 of file SMaterial.h.

enum irr::video::E_PIXEL_SHADER_TYPE

Compile target enumeration for the addHighLevelShaderMaterial() method.

Enumerator:

  EPST_PS_1_1 |
  EPST_PS_1_2 |
  EPST_PS_1_3 |
  EPST_PS_1_4 |
  EPST_PS_2_0 |
  EPST_PS_2_a |
  EPST_PS_2_b |
  EPST_PS_3_0 |
  EPST_PS_4_0 |
  EPST_PS_4_1 |
  EPST_PS_5_0 |
  EPST_COUNT | This is not a type, but a value indicating how much types there are.

Definition at line 38 of file EShaderTypes.h.

enum irr::video::E_RENDER_TARGET

Special render targets, which usually map to dedicated hardware.

These render targets (besides 0 and 1) need not be supported by gfx cards

Enumerator:

  ERT_FRAME_BUFFER | Render target is the main color frame buffer.
  ERT_RENDER_TEXTURE | Render target is a render texture.
  ERT_MULTI_RENDER_TEXTURES | Multi-Render target textures.
  ERT_STEREO_LEFT_BUFFER | Render target is the main color frame buffer.
  ERT_STEREO_RIGHT_BUFFER | Render target is the right color buffer (left is the main buffer).
  ERT_STEREO_BOTH_BUFFERS | Render to both stereo buffers at once.
  ERT_AUX_BUFFER0 | Auxiliary buffer 0.
  ERT_AUX_BUFFER1 | Auxiliary buffer 1.
  ERT_AUX_BUFFER2 | Auxiliary buffer 2.
  ERT_AUX_BUFFER3 | Auxiliary buffer 3.
  ERT_AUX_BUFFER4 | Auxiliary buffer 4.

Definition at line 103 of file IVideoDriver.h.

enum irr::video::E_TEXTURE_CLAMP

Texture coord clamp mode outside [0.0, 1.0].

Enumerator:

  ETC_REPEAT | Texture repeats.
  ETC_CLAMP | Texture is clamped to the last pixel.
  ETC_CLAMP_TO_EDGE | Texture is clamped to the edge pixel.
  ETC_CLAMP_TO_BORDER | Texture is clamped to the border pixel (if exists).
  ETC_MIRROR | Texture is alternatingly mirrored (0..1..0..1..0..).
  ETC_MIRROR_CLAMP | Texture is mirrored once and then clamped (0..1..0).
  ETC_MIRROR_CLAMP_TO_EDGE | Texture is mirrored once and then clamped to edge.
  ETC_MIRROR_CLAMP_TO_BORDER | Texture is mirrored once and then clamped to border.

Definition at line 18 of file SMaterialLayer.h.

enum irr::video::E_TEXTURE_CREATION_FLAG

Enumeration flags telling the video driver in which format textures should be created.

Enumerator:

  ETCF_ALWAYS_16_BIT | Forces the driver to create 16 bit textures always, independent of which format the file on disk has. When choosing this you may loose some color detail, but gain much speed and memory. 16 bit textures can be transferred twice as fast as 32 bit textures and only use half of the space in memory. When using this flag, it does not make sense to use the flags ETCF_ALWAYS_32_BIT, ETCF_OPTIMIZED_FOR_QUALITY, or ETCF_OPTIMIZED_FOR_SPEED at the same time.
  ETCF_ALWAYS_32_BIT | Forces the driver to create 32 bit textures always, independent of which format the file on disk has. Please note that some drivers (like the software device) will ignore this, because they are only able to create and use 16 bit textures. When using this flag, it does not make sense to use the flags ETCF_ALWAYS_16_BIT, ETCF_OPTIMIZED_FOR_QUALITY, or ETCF_OPTIMIZED_FOR_SPEED at the same time.
  ETCF_OPTIMIZED_FOR_QUALITY | Lets the driver decide in which format the textures are created and tries to make the textures look as good as possible. Usually it simply chooses the format in which the texture was stored on disk. When using this flag, it does not make sense to use the flags ETCF_ALWAYS_16_BIT, ETCF_ALWAYS_32_BIT, or ETCF_OPTIMIZED_FOR_SPEED at the same time.
  ETCF_OPTIMIZED_FOR_SPEED | Lets the driver decide in which format the textures are created and tries to create them maximizing render speed. When using this flag, it does not make sense to use the flags ETCF_ALWAYS_16_BIT, ETCF_ALWAYS_32_BIT, or ETCF_OPTIMIZED_FOR_QUALITY, at the same time.
  ETCF_CREATE_MIP_MAPS | Automatically creates mip map levels for the textures.
  ETCF_NO_ALPHA_CHANNEL | Discard any alpha layer and use non-alpha color format.
  ETCF_ALLOW_NON_POWER_2 | Allow the Driver to use Non-Power-2-Textures. BurningVideo can handle Non-Power-2 Textures in 2D (GUI), but not in 3D.
  ETCF_FORCE_32_BIT_DO_NOT_USE | This flag is never used, it only forces the compiler to compile these enumeration values to 32 bit.

Definition at line 22 of file ITexture.h.

enum irr::video::E_TRANSFORMATION_STATE

enumeration for geometry transformation states

Enumerator:

  ETS_VIEW | View transformation.
  ETS_WORLD | World transformation.
  ETS_PROJECTION | Projection transformation.
  ETS_TEXTURE_0 | Texture transformation.
  ETS_TEXTURE_1 | Texture transformation.
  ETS_TEXTURE_2 | Texture transformation.
  ETS_TEXTURE_3 | Texture transformation.
  ETS_COUNT | Not used.

Definition at line 49 of file IVideoDriver.h.

enum irr::video::E_VERTEX_SHADER_TYPE

Compile target enumeration for the addHighLevelShaderMaterial() method.

Enumerator:

  EVST_VS_1_1 |
  EVST_VS_2_0 |
  EVST_VS_2_a |
  EVST_VS_3_0 |
  EVST_VS_4_0 |
  EVST_VS_4_1 |
  EVST_VS_5_0 |
  EVST_COUNT | This is not a type, but a value indicating how much types there are.

Definition at line 12 of file EShaderTypes.h.

enum irr::video::E_VERTEX_TYPE

Enumeration for all vertex types there are.

Enumerator:

  EVT_STANDARD | Standard vertex type used by the Irrlicht engine, video::S3DVertex.
  EVT_2TCOORDS | Vertex with two texture coordinates, video::S3DVertex2TCoords. Usually used for geometry with lightmaps or other special materials.
  EVT_TANGENTS | Vertex with a tangent and binormal vector, video::S3DVertexTangents. Usually used for tangent space normal mapping.

Definition at line 18 of file S3DVertex.h.

enum irr::video::E_VIDEO_DRIVER_FEATURE

enumeration for querying features of the video driver.

Enumerator:

  EVDF_RENDER_TO_TARGET | Is driver able to render to a surface?
  EVDF_HARDWARE_TL | Is hardeware transform and lighting supported?
  EVDF_MULTITEXTURE | Are multiple textures per material possible?
  EVDF_BILINEAR_FILTER | Is driver able to render with a bilinear filter applied?
  EVDF_MIP_MAP | Can the driver handle mip maps?
  EVDF_MIP_MAP_AUTO_UPDATE | Can the driver update mip maps automatically?
  EVDF_STENCIL_BUFFER | Are stencilbuffers switched on and does the device support stencil buffers?
  EVDF_VERTEX_SHADER_1_1 | Is Vertex Shader 1.1 supported?
  EVDF_VERTEX_SHADER_2_0 | Is Vertex Shader 2.0 supported?
  EVDF_VERTEX_SHADER_3_0 | Is Vertex Shader 3.0 supported?
  EVDF_PIXEL_SHADER_1_1 | Is Pixel Shader 1.1 supported?
  EVDF_PIXEL_SHADER_1_2 | Is Pixel Shader 1.2 supported?
  EVDF_PIXEL_SHADER_1_3 | Is Pixel Shader 1.3 supported?
  EVDF_PIXEL_SHADER_1_4 | Is Pixel Shader 1.4 supported?
  EVDF_PIXEL_SHADER_2_0 | Is Pixel Shader 2.0 supported?
  EVDF_PIXEL_SHADER_3_0 | Is Pixel Shader 3.0 supported?
  EVDF_ARB_VERTEX_PROGRAM_1 | Are ARB vertex programs v1.0 supported?
  EVDF_ARB_FRAGMENT_PROGRAM_1 | Are ARB fragment programs v1.0 supported?
  EVDF_ARB_GLSL | Is GLSL supported?
  EVDF_HLSL | Is HLSL supported?
  EVDF_TEXTURE_NSQUARE | Are non-square textures supported?
  EVDF_TEXTURE_NPOT | Are non-power-of-two textures supported?
  EVDF_FRAMEBUFFER_OBJECT | Are framebuffer objects supported?
  EVDF_VERTEX_BUFFER_OBJECT | Are vertex buffer objects supported?
  EVDF_ALPHA_TO_COVERAGE | Supports Alpha To Coverage.
  EVDF_COLOR_MASK | Supports Color masks (disabling color planes in output).
  EVDF_MULTIPLE_RENDER_TARGETS | Supports multiple render targets at once.
  EVDF_MRT_BLEND | Supports separate blend settings for multiple render targets.
  EVDF_MRT_COLOR_MASK | Supports separate color masks for multiple render targets.
  EVDF_MRT_BLEND_FUNC | Supports separate blend functions for multiple render targets.
  EVDF_GEOMETRY_SHADER | Supports geometry shaders.
  EVDF_COUNT | Only used for counting the elements of this enum.

Definition at line 14 of file EDriverFeatures.h.

enum irr::video::ECOLOR_FORMAT

An enum for the color format of textures used by the Irrlicht Engine.

A color format specifies how color information is stored.

Enumerator:

  ECF_A1R5G5B5 | 16 bit color format used by the software driver. It is thus preferred by all other irrlicht engine video drivers. There are 5 bits for every color component, and a single bit is left for alpha information.
  ECF_R5G6B5 | Standard 16 bit color format.
  ECF_R8G8B8 | 24 bit color, no alpha channel, but 8 bit for red, green and blue.
  ECF_A8R8G8B8 | Default 32 bit color format. 8 bits are used for every component: red, green, blue and alpha.
  ECF_R16F | 16 bit floating point format using 16 bits for the red channel. Floating Point formats. The following formats may only be used for render target textures.
  ECF_G16R16F | 32 bit floating point format using 16 bits for the red channel and 16 bits for the green channel.
  ECF_A16B16G16R16F | 64 bit floating point format 16 bits are used for the red, green, blue and alpha channels.
  ECF_R32F | 32 bit floating point format using 32 bits for the red channel.
  ECF_G32R32F | 64 bit floating point format using 32 bits for the red channel and 32 bits for the green channel.
  ECF_A32B32G32R32F | 128 bit floating point format. 32 bits are used for the red, green, blue and alpha channels.
  ECF_UNKNOWN | Unknown color format:.

Definition at line 20 of file IImage.h.

## Function Documentation

u32 irr::video::A1R5G5B5toA8R8G8B8 | ( | u16 | color | ) | `[inline]`

Convert A8R8G8B8 Color from A1R5G5B5 color.

build a nicer 32bit Color by extending dest lower bits with source high bits.

Definition at line 73 of file SColor.h.

u16 irr::video::A1R5G5B5toR5G6B5 | ( | u16 | color | ) | `[inline]`

Returns R5G6B5 Color from A1R5G5B5 color.

Definition at line 101 of file SColor.h.

u16 irr::video::A8R8G8B8toA1R5G5B5 | ( | u32 | color | ) | `[inline]`

Converts a 32bit (A8R8G8B8) color to a 16bit A1R5G5B5 color.

Definition at line 53 of file SColor.h.

Referenced by irr::video::SColor::toA1R5G5B5().

u16 irr::video::A8R8G8B8toR5G6B5 | ( | u32 | color | ) | `[inline]`

Converts a 32bit (A8R8G8B8) color to a 16bit R5G6B5 color.

Definition at line 63 of file SColor.h.

u32 irr::video::getAlpha | ( | u16 | color | ) | `[inline]`

Returns the alpha component from A1R5G5B5 color.

In Irrlicht, alpha refers to opacity.

Returns:
  The alpha value of the color. 0 is transparent, 1 is opaque.

Definition at line 111 of file SColor.h.

s32 irr::video::getAverage | ( | s16 | color | ) | `[inline]`

Returns the average from a 16 bit A1R5G5B5 color.

Definition at line 142 of file SColor.h.

References getBlue(), getGreen(), and getRed().

u32 irr::video::getBlue | ( | u16 | color | ) | `[inline]`

Returns the blue component from A1R5G5B5 color.

Shift left by 3 to get 8 bit value.

Definition at line 135 of file SColor.h.

Referenced by getAverage().

u32 irr::video::getGreen | ( | u16 | color | ) | `[inline]`

Returns the green component from A1R5G5B5 color.

Shift left by 3 to get 8 bit value.

Definition at line 127 of file SColor.h.

Referenced by getAverage().

u32 irr::video::getRed | ( | u16 | color | ) | `[inline]`

Returns the red component from A1R5G5B5 color.

Shift left by 3 to get 8 bit value.

Definition at line 119 of file SColor.h.

Referenced by getAverage().

u32 irr::video::getVertexPitchFromType | ( | E_VERTEX_TYPE | vertexType | ) | `[inline]`

Definition at line 226 of file S3DVertex.h.

References EVT_2TCOORDS, and EVT_TANGENTS.

f32 irr::video::pack_texureBlendFunc | ( | const E_BLEND_FACTOR | srcFact,
|  | const E_BLEND_FACTOR | dstFact,
|  | const E_MODULATE_FUNC | modulate = `EMFN_MODULATE_1X`,
|  | const u32 | alphaSource = `EAS_TEXTURE` |
| ) |  |  | `[inline]`

EMT_ONETEXTURE_BLEND: pack srcFact, dstFact, Modulate and alpha source to MaterialTypeParam.

alpha source can be an OR'ed combination of E_ALPHA_SOURCE values.

Definition at line 101 of file SMaterial.h.

References irr::core::FR().

u16 irr::video::R5G6B5toA1R5G5B5 | ( | u16 | color | ) | `[inline]`

Returns A1R5G5B5 Color from R5G6B5 color.

Definition at line 94 of file SColor.h.

u32 irr::video::R5G6B5toA8R8G8B8 | ( | u16 | color | ) | `[inline]`

Returns A8R8G8B8 Color from R5G6B5 color.

Definition at line 84 of file SColor.h.

u16 irr::video::RGB16 | ( | u32 | r,
|  | u32 | g,
|  | u32 | b |
| ) |  |  | `[inline]`

Creates a 16 bit A1R5G5B5 color.

Definition at line 26 of file SColor.h.

References RGBA16().

u16 irr::video::RGB16from16 | ( | u16 | r,
|  | u16 | g,
|  | u16 | b |
| ) |  |  | `[inline]`

Creates a 16bit A1R5G5B5 color, based on 16bit input values.

Definition at line 33 of file SColor.h.

u16 irr::video::RGBA16 | ( | u32 | r,
|  | u32 | g,
|  | u32 | b,
|  | u32 | a = `0xFF` |
| ) |  |  | `[inline]`

Creates a 16 bit A1R5G5B5 color.

Definition at line 16 of file SColor.h.

Referenced by RGB16().

bool irr::video::textureBlendFunc_hasAlpha | ( | const E_BLEND_FACTOR | factor | ) | `[inline]`

EMT_ONETEXTURE_BLEND: has BlendFactor Alphablending.

Definition at line 120 of file SMaterial.h.

References EBF_DST_ALPHA, EBF_ONE_MINUS_DST_ALPHA, EBF_ONE_MINUS_SRC_ALPHA, EBF_SRC_ALPHA, and EBF_SRC_ALPHA_SATURATE.

void irr::video::unpack_texureBlendFunc | ( | E_BLEND_FACTOR & | srcFact,
|  | E_BLEND_FACTOR & | dstFact,
|  | E_MODULATE_FUNC & | modulo,
|  | u32 & | alphaSource,
|  | const f32 | param |
| ) |  |  | `[inline]`

EMT_ONETEXTURE_BLEND: unpack srcFact & dstFact and Modulo to MaterialTypeParam.

The fields don't use the full byte range, so we could pack even more...

Definition at line 109 of file SMaterial.h.

References irr::core::IR().

u16 irr::video::X8R8G8B8toA1R5G5B5 | ( | u32 | color | ) | `[inline]`

Converts a 32bit (X8R8G8B8) color to a 16bit A1R5G5B5 color.

Definition at line 43 of file SColor.h.

## Variable Documentation

const c8* const irr::video::FogTypeNames[]

Initial value:

            {
                    "FogExp",
                    "FogLinear",
                    "FogExp2",
                    0
            }

Definition at line 137 of file IVideoDriver.h.

const c8* const irr::video::GEOMETRY_SHADER_TYPE_NAMES[]

Initial value:

     {
            "gs_4_0",
            0 }

String names for supported geometry shader types.

Definition at line 81 of file EShaderTypes.h.

IRRLICHT_API SMaterial irr::video::IdentityMaterial

global const identity Material

Referenced by irr::scene::ISceneNode::getMaterial().

const c8* const irr::video::LightTypeNames[]

Initial value:

    {
            "Point",
            "Spot",
            "Directional",
            0
    }

Names for light types.

Definition at line 27 of file SLight.h.

const u32 irr::video::MATERIAL_MAX_TEXTURES = _IRR_MATERIAL_MAX_TEXTURES_

Maximum number of texture an SMaterial can have.

Definition at line 186 of file SMaterial.h.

Referenced by irr::video::SMaterial::getTexture(), irr::video::SMaterial::getTextureMatrix(), irr::video::SMaterial::operator!=(), irr::video::SMaterial::operator=(), irr::video::SMaterial::setFlag(), irr::scene::ISceneNode::setMaterialTexture(), irr::video::SMaterial::setTexture(), irr::video::SMaterial::setTextureMatrix(), and irr::video::SMaterial::SMaterial().

const c8* const irr::video::PIXEL_SHADER_TYPE_NAMES[]

Initial value:

     {
            "ps_1_1",
            "ps_1_2",
            "ps_1_3",
            "ps_1_4",
            "ps_2_0",
            "ps_2_a",
            "ps_2_b",
            "ps_3_0",
            "ps_4_0",
            "ps_4_1",
            "ps_5_0",
            0 }

Names for all pixel shader types, each entry corresponds to a E_PIXEL_SHADER_TYPE entry.

Definition at line 57 of file EShaderTypes.h.

const char* const irr::video::sBuiltInMaterialTypeNames[]

Initial value:

            {
                    "solid",
                    "solid_2layer",
                    "lightmap",
                    "lightmap_add",
                    "lightmap_m2",
                    "lightmap_m4",
                    "lightmap_light",
                    "lightmap_light_m2",
                    "lightmap_light_m4",
                    "detail_map",
                    "sphere_map",
                    "reflection_2layer",
                    "trans_add",
                    "trans_alphach",
                    "trans_alphach_ref",
                    "trans_vertex_alpha",
                    "trans_reflection_2layer",
                    "normalmap_solid",
                    "normalmap_trans_add",
                    "normalmap_trans_vertexalpha",
                    "parallaxmap_solid",
                    "parallaxmap_trans_add",
                    "parallaxmap_trans_vertexalpha",
                    "onetexture_blend",
                    0
            }

Array holding the built in material type names.

Definition at line 200 of file EMaterialTypes.h.

const char* const irr::video::sBuiltInVertexTypeNames[]

Initial value:

    {
            "standard",
            "2tcoords",
            "tangents",
            0
    }

Array holding the built in vertex type names.

Definition at line 33 of file S3DVertex.h.

const c8* const irr::video::VERTEX_SHADER_TYPE_NAMES[]

Initial value:

     {
            "vs_1_1",
            "vs_2_0",
            "vs_2_a",
            "vs_3_0",
            "vs_4_0",
            "vs_4_1",
            "vs_5_0",
            0 }

Names for all vertex shader types, each entry corresponds to a E_VERTEX_SHADER_TYPE entry.

Definition at line 27 of file EShaderTypes.h.

| The Irrlicht Engine Documentation © 2003-2010 by Nikolaus Gebhardt. Generated on Sun Feb 14 13:07:13 2010 by Doxygen (1.6.2)