Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members | Tutorials |
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. |
The video namespace contains classes for accessing the video driver. All 2d and 3d rendering is done here.
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).
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.
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.
Definition at line 143 of file SMaterial.h.
Flag for EMT_ONETEXTURE_BLEND, ( BlendFactor ) BlendFunc = source * sourceFactor + dest * destFactor.
Definition at line 23 of file SMaterial.h.
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.
Definition at line 169 of file SMaterial.h.
Enum values for enabling/disabling color planes for rendering.
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.
Comparison function, e.g. for depth buffer test.
Definition at line 47 of file SMaterial.h.
An enum for all types of drivers the Irrlicht Engine supports.
Definition at line 14 of file EDriverTypes.h.
Enum for the types of fog distributions to choose from.
Definition at line 130 of file IVideoDriver.h.
Enum for supported geometry shader types.
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.
Definition at line 15 of file SVertexIndex.h.
Enumeration for different types of lights.
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.
Definition at line 89 of file IVideoDriver.h.
Material flags.
Definition at line 14 of file EMaterialFlags.h.
Abstracted and easy to use fixed function/programmable pipeline material modes.
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.
MaterialTypeParam: e.g. DirectX: D3DTOP_MODULATE, D3DTOP_MODULATE2X, D3DTOP_MODULATE4X.
Definition at line 39 of file SMaterial.h.
Compile target enumeration for the addHighLevelShaderMaterial() method.
Definition at line 38 of file EShaderTypes.h.
Special render targets, which usually map to dedicated hardware.
These render targets (besides 0 and 1) need not be supported by gfx cards
Definition at line 103 of file IVideoDriver.h.
Texture coord clamp mode outside [0.0, 1.0].
Definition at line 18 of file SMaterialLayer.h.
Enumeration flags telling the video driver in which format textures should be created.
Definition at line 22 of file ITexture.h.
enumeration for geometry transformation states
Definition at line 49 of file IVideoDriver.h.
Compile target enumeration for the addHighLevelShaderMaterial() method.
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.
Enumeration for all vertex types there are.
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.
enumeration for querying features of the video driver.
Definition at line 14 of file EDriverFeatures.h.
An enum for the color format of textures used by the Irrlicht Engine.
A color format specifies how color information is stored.
u32 irr::video::A1R5G5B5toA8R8G8B8 | ( | u16 | color | ) | [inline] |
u16 irr::video::A1R5G5B5toR5G6B5 | ( | u16 | color | ) | [inline] |
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] |
u32 irr::video::getAlpha | ( | u16 | color | ) | [inline] |
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] |
u32 irr::video::R5G6B5toA8R8G8B8 | ( | u16 | color | ) | [inline] |
u16 irr::video::RGB16 | ( | u32 | r, | |
u32 | g, | |||
u32 | b | |||
) | [inline] |
u16 irr::video::RGB16from16 | ( | u16 | r, | |
u16 | g, | |||
u16 | b | |||
) | [inline] |
u16 irr::video::RGBA16 | ( | u32 | r, | |
u32 | g, | |||
u32 | b, | |||
u32 | a = 0xFF | |||
) | [inline] |
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] |
const c8* const irr::video::FogTypeNames[] |
{ "FogExp", "FogLinear", "FogExp2", 0 }
Definition at line 137 of file IVideoDriver.h.
const c8* const irr::video::GEOMETRY_SHADER_TYPE_NAMES[] |
{
"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[] |
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[] |
{ "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[] |
{ "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[] |
{ "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[] |
{ "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 Oct 24 12:42:09 2010 by Doxygen
(1.6.2) |