Irrlicht 3D Engine
SMaterial.h File Reference
#include "SColor.h"
#include "matrix4.h"
#include "irrArray.h"
#include "irrMath.h"
#include "EMaterialTypes.h"
#include "EMaterialFlags.h"
#include "SMaterialLayer.h"

Go to the source code of this file.

Classes

class  irr::video::SMaterial
 Struct for holding parameters for a material renderer. More...
 

Namespaces

 irr
 Everything in the Irrlicht Engine can be found in this namespace.
 
 irr::video
 The video namespace contains classes for accessing the video driver. All 2d and 3d rendering is done here.
 

Enumerations

enum  irr::video::E_ALPHA_SOURCE { irr::video::EAS_NONE =0, irr::video::EAS_VERTEX_COLOR, irr::video::EAS_TEXTURE }
 Source of the alpha value to take. More...
 
enum  irr::video::E_ANTI_ALIASING_MODE {
  irr::video::EAAM_OFF =0, irr::video::EAAM_SIMPLE =1, irr::video::EAAM_QUALITY =3, irr::video::EAAM_LINE_SMOOTH =4,
  irr::video::EAAM_POINT_SMOOTH =8, irr::video::EAAM_FULL_BASIC =15, irr::video::EAAM_ALPHA_TO_COVERAGE =16
}
 These flags are used to specify the anti-aliasing and smoothing modes. More...
 
enum  irr::video::E_BLEND_FACTOR {
  irr::video::EBF_ZERO = 0, irr::video::EBF_ONE, irr::video::EBF_DST_COLOR, irr::video::EBF_ONE_MINUS_DST_COLOR,
  irr::video::EBF_SRC_COLOR, irr::video::EBF_ONE_MINUS_SRC_COLOR, irr::video::EBF_SRC_ALPHA, irr::video::EBF_ONE_MINUS_SRC_ALPHA,
  irr::video::EBF_DST_ALPHA, irr::video::EBF_ONE_MINUS_DST_ALPHA, irr::video::EBF_SRC_ALPHA_SATURATE
}
 Flag for EMT_ONETEXTURE_BLEND, ( BlendFactor ) BlendFunc = source * sourceFactor + dest * destFactor. More...
 
enum  irr::video::E_BLEND_OPERATION {
  irr::video::EBO_NONE = 0, irr::video::EBO_ADD, irr::video::EBO_SUBTRACT, irr::video::EBO_REVSUBTRACT,
  irr::video::EBO_MIN, irr::video::EBO_MAX, irr::video::EBO_MIN_FACTOR, irr::video::EBO_MAX_FACTOR,
  irr::video::EBO_MIN_ALPHA, irr::video::EBO_MAX_ALPHA
}
 Values defining the blend operation used when blend is enabled. More...
 
enum  irr::video::E_COLOR_MATERIAL {
  irr::video::ECM_NONE =0, irr::video::ECM_DIFFUSE, irr::video::ECM_AMBIENT, irr::video::ECM_EMISSIVE,
  irr::video::ECM_SPECULAR, irr::video::ECM_DIFFUSE_AND_AMBIENT
}
 These flags allow to define the interpretation of vertex color when lighting is enabled. More...
 
enum  irr::video::E_COLOR_PLANE {
  irr::video::ECP_NONE =0, irr::video::ECP_ALPHA =1, irr::video::ECP_RED =2, irr::video::ECP_GREEN =4,
  irr::video::ECP_BLUE =8, irr::video::ECP_RGB =14, irr::video::ECP_ALL =15
}
 Enum values for enabling/disabling color planes for rendering. More...
 
enum  irr::video::E_COMPARISON_FUNC {
  irr::video::ECFN_NEVER =0, irr::video::ECFN_LESSEQUAL =1, irr::video::ECFN_EQUAL =2, irr::video::ECFN_LESS,
  irr::video::ECFN_NOTEQUAL, irr::video::ECFN_GREATEREQUAL, irr::video::ECFN_GREATER, irr::video::ECFN_ALWAYS
}
 Comparison function, e.g. for depth buffer test. More...
 
enum  irr::video::E_MODULATE_FUNC { irr::video::EMFN_MODULATE_1X = 1, irr::video::EMFN_MODULATE_2X = 2, irr::video::EMFN_MODULATE_4X = 4 }
 MaterialTypeParam: e.g. DirectX: D3DTOP_MODULATE, D3DTOP_MODULATE2X, D3DTOP_MODULATE4X. More...
 
enum  irr::video::E_POLYGON_OFFSET { irr::video::EPO_BACK =0, irr::video::EPO_FRONT =1 }
 Flags for the definition of the polygon offset feature. More...
 

Functions

f32 irr::video::pack_textureBlendFunc (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. More...
 
bool irr::video::textureBlendFunc_hasAlpha (const E_BLEND_FACTOR factor)
 EMT_ONETEXTURE_BLEND: has BlendFactor Alphablending. More...
 
void irr::video::unpack_textureBlendFunc (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. More...
 

Variables

IRRLICHT_API SMaterial irr::video::IdentityMaterial
 global const identity Material More...
 
const u32 irr::video::MATERIAL_MAX_TEXTURES = _IRR_MATERIAL_MAX_TEXTURES_
 Maximum number of texture an SMaterial can have. More...
 
const c8 *const irr::video::PolygonOffsetDirectionNames []
 Names for polygon offset direction. More...