doom3-gpl
Doom 3 GPL source release
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Typedefs | Enumerations | Variables
Material.h File Reference

Go to the source code of this file.

Classes

struct  decalInfo_t
 
struct  expOp_t
 
struct  colorStage_t
 
struct  textureStage_t
 
struct  newShaderStage_t
 
struct  shaderStage_t
 
class  idMaterial
 

Typedefs

typedef idList< const
idMaterial * > 
idMatList
 

Enumerations

enum  textureFilter_t { TF_LINEAR, TF_NEAREST, TF_DEFAULT }
 
enum  textureRepeat_t {
  TR_REPEAT, TR_CLAMP, TR_CLAMP_TO_BORDER, TR_CLAMP_TO_ZERO,
  TR_CLAMP_TO_ZERO_ALPHA
}
 
enum  deform_t {
  DFRM_NONE, DFRM_SPRITE, DFRM_TUBE, DFRM_FLARE,
  DFRM_EXPAND, DFRM_MOVE, DFRM_EYEBALL, DFRM_PARTICLE,
  DFRM_PARTICLE2, DFRM_TURB
}
 
enum  dynamicidImage_t {
  DI_STATIC, DI_SCRATCH, DI_CUBE_RENDER, DI_MIRROR_RENDER,
  DI_XRAY_RENDER, DI_REMOTE_RENDER
}
 
enum  expOpType_t {
  OP_TYPE_ADD, OP_TYPE_SUBTRACT, OP_TYPE_MULTIPLY, OP_TYPE_DIVIDE,
  OP_TYPE_MOD, OP_TYPE_TABLE, OP_TYPE_GT, OP_TYPE_GE,
  OP_TYPE_LT, OP_TYPE_LE, OP_TYPE_EQ, OP_TYPE_NE,
  OP_TYPE_AND, OP_TYPE_OR, OP_TYPE_SOUND
}
 
enum  expRegister_t {
  EXP_REG_TIME, EXP_REG_PARM0, EXP_REG_PARM1, EXP_REG_PARM2,
  EXP_REG_PARM3, EXP_REG_PARM4, EXP_REG_PARM5, EXP_REG_PARM6,
  EXP_REG_PARM7, EXP_REG_PARM8, EXP_REG_PARM9, EXP_REG_PARM10,
  EXP_REG_PARM11, EXP_REG_GLOBAL0, EXP_REG_GLOBAL1, EXP_REG_GLOBAL2,
  EXP_REG_GLOBAL3, EXP_REG_GLOBAL4, EXP_REG_GLOBAL5, EXP_REG_GLOBAL6,
  EXP_REG_GLOBAL7, EXP_REG_NUM_PREDEFINED
}
 
enum  texgen_t {
  TG_EXPLICIT, TG_DIFFUSE_CUBE, TG_REFLECT_CUBE, TG_SKYBOX_CUBE,
  TG_WOBBLESKY_CUBE, TG_SCREEN, TG_SCREEN2, TG_GLASSWARP
}
 
enum  stageLighting_t { SL_AMBIENT, SL_BUMP, SL_DIFFUSE, SL_SPECULAR }
 
enum  stageVertexColor_t { SVC_IGNORE, SVC_MODULATE, SVC_INVERSE_MODULATE }
 
enum  materialCoverage_t { MC_BAD, MC_OPAQUE, MC_PERFORATED, MC_TRANSLUCENT }
 
enum  materialSort_t {
  SS_SUBVIEW = -3, SS_GUI = -2, SS_BAD = -1, SS_OPAQUE,
  SS_PORTAL_SKY, SS_DECAL, SS_FAR, SS_MEDIUM,
  SS_CLOSE, SS_ALMOST_NEAREST, SS_NEAREST, SS_POST_PROCESS = 100
}
 
enum  cullType_t { CT_FRONT_SIDED, CT_BACK_SIDED, CT_TWO_SIDED }
 
enum  materialFlags_t {
  MF_DEFAULTED = BIT(0), MF_POLYGONOFFSET = BIT(1), MF_NOSHADOWS = BIT(2), MF_FORCESHADOWS = BIT(3),
  MF_NOSELFSHADOW = BIT(4), MF_NOPORTALFOG = BIT(5), MF_EDITOR_VISIBLE = BIT(6)
}
 
enum  contentsFlags_t {
  CONTENTS_SOLID = BIT(0), CONTENTS_OPAQUE = BIT(1), CONTENTS_WATER = BIT(2), CONTENTS_PLAYERCLIP = BIT(3),
  CONTENTS_MONSTERCLIP = BIT(4), CONTENTS_MOVEABLECLIP = BIT(5), CONTENTS_IKCLIP = BIT(6), CONTENTS_BLOOD = BIT(7),
  CONTENTS_BODY = BIT(8), CONTENTS_PROJECTILE = BIT(9), CONTENTS_CORPSE = BIT(10), CONTENTS_RENDERMODEL = BIT(11),
  CONTENTS_TRIGGER = BIT(12), CONTENTS_AAS_SOLID = BIT(13), CONTENTS_AAS_OBSTACLE = BIT(14), CONTENTS_FLASHLIGHT_TRIGGER = BIT(15),
  CONTENTS_AREAPORTAL = BIT(20), CONTENTS_NOCSG = BIT(21), CONTENTS_REMOVE_UTIL = ~(CONTENTS_AREAPORTAL|CONTENTS_NOCSG)
}
 
enum  surfTypes_t {
  SURFTYPE_NONE, SURFTYPE_METAL, SURFTYPE_STONE, SURFTYPE_FLESH,
  SURFTYPE_WOOD, SURFTYPE_CARDBOARD, SURFTYPE_LIQUID, SURFTYPE_GLASS,
  SURFTYPE_PLASTIC, SURFTYPE_RICOCHET, SURFTYPE_10, SURFTYPE_11,
  SURFTYPE_12, SURFTYPE_13, SURFTYPE_14, SURFTYPE_15
}
 
enum  surfaceFlags_t {
  SURF_TYPE_BIT0 = BIT(0), SURF_TYPE_BIT1 = BIT(1), SURF_TYPE_BIT2 = BIT(2), SURF_TYPE_BIT3 = BIT(3),
  SURF_TYPE_MASK = ( 1 << NUM_SURFACE_BITS ) - 1, SURF_NODAMAGE = BIT(4), SURF_SLICK = BIT(5), SURF_COLLISION = BIT(6),
  SURF_LADDER = BIT(7), SURF_NOIMPACT = BIT(8), SURF_NOSTEPS = BIT(9), SURF_DISCRETE = BIT(10),
  SURF_NOFRAGMENT = BIT(11), SURF_NULLNORMAL = BIT(12)
}
 

Variables

const int MAX_SHADER_STAGES = 256
 
const int MAX_TEXGEN_REGISTERS = 4
 
const int MAX_ENTITY_SHADER_PARMS = 12
 
const int NUM_SURFACE_BITS = 4
 
const int MAX_SURFACE_TYPES = 1 << NUM_SURFACE_BITS
 

Typedef Documentation

Definition at line 689 of file Material.h.

Enumeration Type Documentation

Enumerator
CONTENTS_SOLID 
CONTENTS_OPAQUE 
CONTENTS_WATER 
CONTENTS_PLAYERCLIP 
CONTENTS_MONSTERCLIP 
CONTENTS_MOVEABLECLIP 
CONTENTS_IKCLIP 
CONTENTS_BLOOD 
CONTENTS_BODY 
CONTENTS_PROJECTILE 
CONTENTS_CORPSE 
CONTENTS_RENDERMODEL 
CONTENTS_TRIGGER 
CONTENTS_AAS_SOLID 
CONTENTS_AAS_OBSTACLE 
CONTENTS_FLASHLIGHT_TRIGGER 
CONTENTS_AREAPORTAL 
CONTENTS_NOCSG 
CONTENTS_REMOVE_UTIL 

Definition at line 272 of file Material.h.

enum cullType_t
Enumerator
CT_FRONT_SIDED 
CT_BACK_SIDED 
CT_TWO_SIDED 

Definition at line 247 of file Material.h.

enum deform_t
Enumerator
DFRM_NONE 
DFRM_SPRITE 
DFRM_TUBE 
DFRM_FLARE 
DFRM_EXPAND 
DFRM_MOVE 
DFRM_EYEBALL 
DFRM_PARTICLE 
DFRM_PARTICLE2 
DFRM_TURB 

Definition at line 70 of file Material.h.

Enumerator
DI_STATIC 
DI_SCRATCH 
DI_CUBE_RENDER 
DI_MIRROR_RENDER 
DI_XRAY_RENDER 
DI_REMOTE_RENDER 

Definition at line 83 of file Material.h.

Enumerator
OP_TYPE_ADD 
OP_TYPE_SUBTRACT 
OP_TYPE_MULTIPLY 
OP_TYPE_DIVIDE 
OP_TYPE_MOD 
OP_TYPE_TABLE 
OP_TYPE_GT 
OP_TYPE_GE 
OP_TYPE_LT 
OP_TYPE_LE 
OP_TYPE_EQ 
OP_TYPE_NE 
OP_TYPE_AND 
OP_TYPE_OR 
OP_TYPE_SOUND 

Definition at line 93 of file Material.h.

Enumerator
EXP_REG_TIME 
EXP_REG_PARM0 
EXP_REG_PARM1 
EXP_REG_PARM2 
EXP_REG_PARM3 
EXP_REG_PARM4 
EXP_REG_PARM5 
EXP_REG_PARM6 
EXP_REG_PARM7 
EXP_REG_PARM8 
EXP_REG_PARM9 
EXP_REG_PARM10 
EXP_REG_PARM11 
EXP_REG_GLOBAL0 
EXP_REG_GLOBAL1 
EXP_REG_GLOBAL2 
EXP_REG_GLOBAL3 
EXP_REG_GLOBAL4 
EXP_REG_GLOBAL5 
EXP_REG_GLOBAL6 
EXP_REG_GLOBAL7 
EXP_REG_NUM_PREDEFINED 

Definition at line 111 of file Material.h.

Enumerator
MC_BAD 
MC_OPAQUE 
MC_PERFORATED 
MC_TRANSLUCENT 

Definition at line 219 of file Material.h.

Enumerator
MF_DEFAULTED 
MF_POLYGONOFFSET 
MF_NOSHADOWS 
MF_FORCESHADOWS 
MF_NOSELFSHADOW 
MF_NOPORTALFOG 
MF_EDITOR_VISIBLE 

Definition at line 261 of file Material.h.

Enumerator
SS_SUBVIEW 
SS_GUI 
SS_BAD 
SS_OPAQUE 
SS_PORTAL_SKY 
SS_DECAL 
SS_FAR 
SS_MEDIUM 
SS_CLOSE 
SS_ALMOST_NEAREST 
SS_NEAREST 
SS_POST_PROCESS 

Definition at line 226 of file Material.h.

Enumerator
SL_AMBIENT 
SL_BUMP 
SL_DIFFUSE 
SL_SPECULAR 

Definition at line 173 of file Material.h.

Enumerator
SVC_IGNORE 
SVC_MODULATE 
SVC_INVERSE_MODULATE 

Definition at line 182 of file Material.h.

Enumerator
SURF_TYPE_BIT0 
SURF_TYPE_BIT1 
SURF_TYPE_BIT2 
SURF_TYPE_BIT3 
SURF_TYPE_MASK 
SURF_NODAMAGE 
SURF_SLICK 
SURF_COLLISION 
SURF_LADDER 
SURF_NOIMPACT 
SURF_NOSTEPS 
SURF_DISCRETE 
SURF_NOFRAGMENT 
SURF_NULLNORMAL 

Definition at line 321 of file Material.h.

Enumerator
SURFTYPE_NONE 
SURFTYPE_METAL 
SURFTYPE_STONE 
SURFTYPE_FLESH 
SURFTYPE_WOOD 
SURFTYPE_CARDBOARD 
SURFTYPE_LIQUID 
SURFTYPE_GLASS 
SURFTYPE_PLASTIC 
SURFTYPE_RICOCHET 
SURFTYPE_10 
SURFTYPE_11 
SURFTYPE_12 
SURFTYPE_13 
SURFTYPE_14 
SURFTYPE_15 

Definition at line 301 of file Material.h.

enum texgen_t
Enumerator
TG_EXPLICIT 
TG_DIFFUSE_CUBE 
TG_REFLECT_CUBE 
TG_SKYBOX_CUBE 
TG_WOBBLESKY_CUBE 
TG_SCREEN 
TG_SCREEN2 
TG_GLASSWARP 

Definition at line 148 of file Material.h.

Enumerator
TF_LINEAR 
TF_NEAREST 
TF_DEFAULT 

Definition at line 46 of file Material.h.

Enumerator
TR_REPEAT 
TR_CLAMP 
TR_CLAMP_TO_BORDER 
TR_CLAMP_TO_ZERO 
TR_CLAMP_TO_ZERO_ALPHA 

Definition at line 52 of file Material.h.

Variable Documentation

const int MAX_ENTITY_SHADER_PARMS = 12

Definition at line 258 of file Material.h.

const int MAX_SHADER_STAGES = 256

Definition at line 254 of file Material.h.

const int MAX_SURFACE_TYPES = 1 << NUM_SURFACE_BITS

Definition at line 299 of file Material.h.

const int MAX_TEXGEN_REGISTERS = 4

Definition at line 256 of file Material.h.

const int NUM_SURFACE_BITS = 4

Definition at line 298 of file Material.h.