| Irrlicht 3D Engine |

Classes | Typedefs | Enumerations | Functions
irr::scene::quake3 Namespace Reference

## Classes

- struct IShader
    A Parsed Shader Holding Variables ordered in Groups. More...
- class IShaderManager
    Manages various Quake3 Shader Styles. More...
- struct Noiser
- struct Q3LevelLoadParameter
- struct SBlendFunc
    A blend function for a q3 shader. More...
- struct SModifierFunction
- struct SVarGroup
- struct SVarGroupList
    holding a group a variable More...
- struct SVariable

## Typedefs

- typedef IShader IEntity
- typedef core::array< IEntity > tQ3EntityList
- typedef core::array
  < core::stringc > tStringList
- typedef core::array
  < video::ITexture * > tTexArray

## Enumerations

- enum eQ3MeshIndex {
  E_Q3_MESH_GEOMETRY = 0, E_Q3_MESH_ITEMS, E_Q3_MESH_BILLBOARD, E_Q3_MESH_FOG,
  E_Q3_MESH_UNRESOLVED, E_Q3_MESH_SIZE
  }
    Hold the different Mesh Types used for getMesh. More...
- enum eQ3ModifierFunction {
  TCMOD = 0, DEFORMVERTEXES = 1, RGBGEN = 2, TCGEN = 3,
  MAP = 4, ALPHAGEN = 5, FUNCTION2 = 0x10, SCROLL = FUNCTION2 + 1,
  SCALE = FUNCTION2 + 2, ROTATE = FUNCTION2 + 3, STRETCH = FUNCTION2 + 4, TURBULENCE = FUNCTION2 + 5,
  WAVE = FUNCTION2 + 6, IDENTITY = FUNCTION2 + 7, VERTEX = FUNCTION2 + 8, TEXTURE = FUNCTION2 + 9,
  LIGHTMAP = FUNCTION2 + 10, ENVIRONMENT = FUNCTION2 + 11, DOLLAR_LIGHTMAP = FUNCTION2 + 12, BULGE = FUNCTION2 + 13,
  AUTOSPRITE = FUNCTION2 + 14, AUTOSPRITE2 = FUNCTION2 + 15, TRANSFORM = FUNCTION2 + 16, EXACTVERTEX = FUNCTION2 + 17,
  CONSTANT = FUNCTION2 + 18, LIGHTINGSPECULAR = FUNCTION2 + 19, MOVE = FUNCTION2 + 20, NORMAL = FUNCTION2 + 21,
  IDENTITYLIGHTING = FUNCTION2 + 22, WAVE_MODIFIER_FUNCTION = 0x30, SINUS = WAVE_MODIFIER_FUNCTION + 1, COSINUS = WAVE_MODIFIER_FUNCTION + 2,
  SQUARE = WAVE_MODIFIER_FUNCTION + 3, TRIANGLE = WAVE_MODIFIER_FUNCTION + 4, SAWTOOTH = WAVE_MODIFIER_FUNCTION + 5, SAWTOOTH_INVERSE = WAVE_MODIFIER_FUNCTION + 6,
  NOISE = WAVE_MODIFIER_FUNCTION + 7, UNKNOWN = -2
  }

## Functions

- core::stringc & dumpShader (core::stringc &dest, const IShader *shader, bool entity=false)
- void dumpVarGroup (core::stringc &dest, const SVarGroup *group, s32 stack)
- f32 getAsFloat (const core::stringc &string, u32 &pos)
- void getAsStringList (tStringList &list, s32 max, const core::stringc &string, u32 &startPos)
- core::vector3df getAsVector3df (const core::stringc &string, u32 &pos)
    get a quake3 vector translated to irrlicht position (x,-z,y )
- bool getCullingFunction (const core::stringc &cull)
- u8 getDepthFunction (const core::stringc &string)
- core::vector3df getMD3Normal (u32 i, u32 j)
- void getModifierFunc (SModifierFunction &fill, const core::stringc &string, u32 &pos)
- void getTextures (tTexArray &textures, const core::stringc &name, u32 &startPos, io::IFileSystem *fileSystem, video::IVideoDriver *driver)
- s16 isEqual (const core::stringc &string, u32 &pos, const c8 *list[], u16 listSize)

## Typedef Documentation

typedef IShader irr::scene::quake3::IEntity

Definition at line 687 of file IQ3Shader.h.

typedef core::array< IEntity > irr::scene::quake3::tQ3EntityList

Definition at line 689 of file IQ3Shader.h.

typedef core::array< core::stringc > irr::scene::quake3::tStringList

Definition at line 79 of file IQ3Shader.h.

typedef core::array< video::ITexture* > irr::scene::quake3::tTexArray

Definition at line 80 of file IQ3Shader.h.

## Enumeration Type Documentation

enum irr::scene::quake3::eQ3MeshIndex

Hold the different Mesh Types used for getMesh.

Enumerator:

  E_Q3_MESH_GEOMETRY |
  E_Q3_MESH_ITEMS |
  E_Q3_MESH_BILLBOARD |
  E_Q3_MESH_FOG |
  E_Q3_MESH_UNRESOLVED |
  E_Q3_MESH_SIZE |

Definition at line 24 of file IQ3Shader.h.

enum irr::scene::quake3::eQ3ModifierFunction

Enumerator:

  TCMOD |
  DEFORMVERTEXES |
  RGBGEN |
  TCGEN |
  MAP |
  ALPHAGEN |
  FUNCTION2 |
  SCROLL |
  SCALE |
  ROTATE |
  STRETCH |
  TURBULENCE |
  WAVE |
  IDENTITY |
  VERTEX |
  TEXTURE |
  LIGHTMAP |
  ENVIRONMENT |
  DOLLAR_LIGHTMAP |
  BULGE |
  AUTOSPRITE |
  AUTOSPRITE2 |
  TRANSFORM |
  EXACTVERTEX |
  CONSTANT |
  LIGHTINGSPECULAR |
  MOVE |
  NORMAL |
  IDENTITYLIGHTING |
  WAVE_MODIFIER_FUNCTION |
  SINUS |
  COSINUS |
  SQUARE |
  TRIANGLE |
  SAWTOOTH |
  SAWTOOTH_INVERSE |
  NOISE |
  UNKNOWN |

Definition at line 372 of file IQ3Shader.h.

## Function Documentation

core::stringc& irr::scene::quake3::dumpShader | ( | core::stringc & | dest,
|  | const IShader * | shader,
|  | bool | entity = `false`
| ) |  | `[inline]`

dump a Shader or an Entity

Definition at line 739 of file IQ3Shader.h.

References irr::core::string< T, TAlloc >::append(), irr::core::clamp(), dumpVarGroup(), irr::core::array< T, TAlloc >::size(), irr::scene::quake3::IShader::VarGroup, and irr::scene::quake3::SVarGroupList::VariableGroup.

void irr::scene::quake3::dumpVarGroup | ( | core::stringc & | dest,
|  | const SVarGroup * | group,
|  | s32 | stack
| ) |  | `[inline]`

Definition at line 695 of file IQ3Shader.h.

References irr::core::string< T, TAlloc >::append(), irr::core::array< T, TAlloc >::size(), and irr::scene::quake3::SVarGroup::Variable.

Referenced by dumpShader().

f32 irr::scene::quake3::getAsFloat | ( | const core::stringc & | string,
|  | u32 & | pos
| ) |  | `[inline]`

Definition at line 105 of file IQ3Shader.h.

References irr::core::fast_atof_move().

Referenced by getAsVector3df(), and getModifierFunc().

void irr::scene::quake3::getAsStringList | ( | tStringList & | list,
|  | s32 | max,
|  | const core::stringc & | string,
|  | u32 & | startPos
| ) |  | `[inline]`

Definition at line 130 of file IQ3Shader.h.

References irr::core::array< T, TAlloc >::clear(), irr::core::array< T, TAlloc >::push_back(), and irr::core::array< T, TAlloc >::size().

Referenced by getTextures().

core::vector3df irr::scene::quake3::getAsVector3df | ( | const core::stringc & | string,
|  | u32 & | pos
| ) |  | `[inline]`

get a quake3 vector translated to irrlicht position (x,-z,y )

Definition at line 115 of file IQ3Shader.h.

References getAsFloat(), irr::core::vector3d< T >::X, irr::core::vector3d< T >::Y, and irr::core::vector3d< T >::Z.

bool irr::scene::quake3::getCullingFunction | ( | const core::stringc & | cull | ) | `[inline]`

Definition at line 171 of file IQ3Shader.h.

References isEqual(), and irr::core::string< T, TAlloc >::size().

u8 irr::scene::quake3::getDepthFunction | ( | const core::stringc & | string | ) | `[inline]`

Definition at line 193 of file IQ3Shader.h.

References irr::video::ECFN_EQUAL, irr::video::ECFN_LESSEQUAL, and isEqual().

core::vector3df irr::scene::quake3::getMD3Normal | ( | u32 | i,
|  | u32 | j
| ) |  | `[inline]`

Definition at line 510 of file IQ3Shader.h.

References irr::core::PI.

void irr::scene::quake3::getModifierFunc | ( | SModifierFunction & | fill,
|  | const core::stringc & | string,
|  | u32 & | pos
| ) |  | `[inline]`

Definition at line 520 of file IQ3Shader.h.

References irr::scene::quake3::SModifierFunction::amp, irr::scene::quake3::SModifierFunction::base, irr::scene::quake3::SModifierFunction::frequency, irr::scene::quake3::SModifierFunction::func, getAsFloat(), isEqual(), irr::scene::quake3::SModifierFunction::phase, SINUS, UNKNOWN, and WAVE_MODIFIER_FUNCTION.

void irr::scene::quake3::getTextures | ( | tTexArray & | textures,
|  | const core::stringc & | name,
|  | u32 & | startPos,
|  | io::IFileSystem * | fileSystem,
|  | video::IVideoDriver * | driver
| ) |  | `[inline]`

Definition at line 770 of file IQ3Shader.h.

References irr::video::IVideoDriver::addTexture(), irr::core::string< T, TAlloc >::append(), irr::core::array< T, TAlloc >::clear(), irr::video::IVideoDriver::createImageFromData(), irr::core::cutFilenameExtension(), irr::IReferenceCounted::drop(), irr::video::ECF_A8R8G8B8, irr::io::IFileSystem::existFile(), getAsStringList(), irr::video::IVideoDriver::getTexture(), irr::core::array< T, TAlloc >::push_back(), and irr::core::array< T, TAlloc >::size().

s16 irr::scene::quake3::isEqual | ( | const core::stringc & | string,
|  | u32 & | pos,
|  | const c8 * | list[],
|  | u16 | listSize
| ) |  | `[inline]`

Definition at line 83 of file IQ3Shader.h.

Referenced by getCullingFunction(), getDepthFunction(), and getModifierFunc().