| Irrlicht 3D Engine |

Classes | Namespaces | Enumerations | Functions | Variables
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

- namespace irr

    Everything in the Irrlicht Engine can be found in this namespace.

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

## Variables

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