Shader_Enums

EColorArg Enumeration
C++
enum EColorArg {
  eCA_Unknown,
  eCA_Specular,
  eCA_Texture,
  eCA_Texture1,
  eCA_Normal,
  eCA_Diffuse,
  eCA_Previous,
  eCA_Constant
};
File

IShader.h

EColorOp Enumeration

Color operations flags.

C++
enum EColorOp {
  eCO_NOSET = 0,
  eCO_DISABLE = 1,
  eCO_REPLACE = 2,
  eCO_DECAL = 3,
  eCO_ARG2 = 4,
  eCO_MODULATE = 5,
  eCO_MODULATE2X = 6,
  eCO_MODULATE4X = 7,
  eCO_BLENDDIFFUSEALPHA = 8,
  eCO_BLENDTEXTUREALPHA = 9,
  eCO_DETAIL = 10,
  eCO_ADD = 11,
  eCO_ADDSIGNED = 12,
  eCO_ADDSIGNED2X = 13,
  eCO_MULTIPLYADD = 14,
  eCO_BUMPENVMAP = 15,
  eCO_BLEND = 16,
  eCO_MODULATEALPHA_ADDCOLOR = 17,
  eCO_MODULATECOLOR_ADDALPHA = 18,
  eCO_MODULATEINVALPHA_ADDCOLOR = 19,
  eCO_MODULATEINVCOLOR_ADDALPHA = 20,
  eCO_DOTPRODUCT3 = 21,
  eCO_LERP = 22,
  eCO_SUBTRACT = 23
};
File

IShader.h

ECull Enumeration

Geometry Culling type.

C++
enum ECull {
  eCULL_Back = 0,
  eCULL_Front,
  eCULL_None
};
File

IShader.h

Members
Members
Description
eCULL_Back = 0
Back culling flag.
eCULL_Front
Front culling flag.
eCULL_None
No culling flag.
EDeformType Enumeration

Deformations/Morphing types.

C++
enum EDeformType {
  eDT_Unknown = 0,
  eDT_SinWave = 1,
  eDT_SinWaveUsingVtxColor = 2,
  eDT_Bulge = 3,
  eDT_Squeeze = 4,
  eDT_Perlin2D = 5,
  eDT_Perlin3D = 6,
  eDT_FromCenter = 7,
  eDT_Bending = 8,
  eDT_ProcFlare = 9,
  eDT_AutoSprite = 10,
  eDT_Beam = 11,
  eDT_FixedOffset = 12
};
File

IShader.h

eDynamicLightFlags Enumeration
C++
enum eDynamicLightFlags {
  DLF_AREA_SPEC_TEX = BIT(0),
  DLF_DIRECTIONAL = BIT(1),
  DLF_BOX_PROJECTED_CM = BIT(2),
  DLF_LIGHTBOX_FALLOFF = BIT(3),
  DLF_POST_3D_RENDERER = BIT(4),
  DLF_CASTSHADOW_MAPS = BIT(5),
  DLF_POINT = BIT(6),
  DLF_PROJECT = BIT(7),
  DLF_LIGHT_BEAM = BIT(8),
  DLF_REFLECTIVE_SHADOWMAP = BIT(9),
  DLF_IGNORES_VISAREAS = BIT(10),
  DLF_DEFERRED_CUBEMAPS = BIT(11),
  DLF_DISABLE_X360_MSAA = BIT(12),
  DLF_DISABLED = BIT(13),
  DLF_AREA_LIGHT = BIT(14),
  DLF_HASCLIPBOUND = BIT(15),
  DLF_HASCLIPGEOM = BIT(16),
  DLF_FAKE = BIT(17),
  DLF_SUN = BIT(18),
  DLF_LM = BIT(19),
  DLF_THIS_AREA_ONLY = BIT(20),
  DLF_AMBIENT = BIT(21),
  DLF_INDOOR_ONLY = BIT(22),
  DLF_ALLOW_LPV = BIT(24),
  DLF_ATTACH_TO_SUN = BIT(25),
  DLF_TRACKVIEW_TIMESCRUBBING = BIT(26),
  DLF_DEFERRED_LIGHT = BIT(29),
  DLF_SPECULAROCCLUSION = BIT(30),
  DLF_DIFFUSEOCCLUSION = BIT(31),
  DLF_LIGHTTYPE_MASK = (DLF_DIRECTIONAL | DLF_POINT | DLF_PROJECT | DLF_AREA_LIGHT)
};
File

IShader.h

Members
Members
Description
DLF_HASCLIPGEOM = BIT(16)
Use stat geom for clip geom
DLF_FAKE = BIT(17)
No lighting, used for Flares, beams and such.
DLF_THIS_AREA_ONLY = BIT(20)
Affects only current area/sector.
DLF_AMBIENT = BIT(21)
Ambient light (has name indicates, used for replacing ambient)
DLF_INDOOR_ONLY = BIT(22)
Do not affect height map.
DLF_ALLOW_LPV = BIT(24)
Add only to Light Propagation Volume if it's possible.
DLF_ATTACH_TO_SUN = BIT(25)
Add only to Light Propagation Volume if it's possible.
DLF_TRACKVIEW_TIMESCRUBBING = BIT(26)
Add only to Light Propagation Volume if it's possible.
DLF_DEFERRED_LIGHT = BIT(29)
Deprecated. Remove once deferred shading by default
DLF_SPECULAROCCLUSION = BIT(30)
Deprecated. Remove all dependencies editor side, etc
Description

DLights

EEfResTextures Enumeration
C++
enum EEfResTextures {
  EFTT_DIFFUSE = 0,
  EFTT_BUMP,
  EFTT_GLOSS,
  EFTT_ENV,
  EFTT_DETAIL_OVERLAY,
  EFTT_BUMP_DIFFUSE,
  EFTT_BUMP_HEIGHT,
  EFTT_DECAL_OVERLAY,
  EFTT_SUBSURFACE,
  EFTT_CUSTOM,
  EFTT_CUSTOM_SECONDARY,
  EFTT_OPACITY,
  EFTT_GLOSS_NORMAL_A,
  EFTT_MAX
};
File

IShader.h

EGrBlockSamplerType Enumeration
C++
enum EGrBlockSamplerType {
  eGrBlockSampler_Unknown,
  eGrBlockSampler_2D,
  eGrBlockSampler_3D,
  eGrBlockSampler_Cube,
  eGrBlockSampler_Bias2D,
  eGrBlockSampler_BiasCube
};
File

IShader.h

EGrBlockType Enumeration

Shader graph support.

C++
enum EGrBlockType {
  eGrBlock_Unknown,
  eGrBlock_VertexInput,
  eGrBlock_VertexOutput,
  eGrBlock_PixelInput,
  eGrBlock_PixelOutput,
  eGrBlock_Texture,
  eGrBlock_Sampler,
  eGrBlock_Function,
  eGrBlock_Constant
};
File

IShader.h

EGrNodeFormat Enumeration
C++
enum EGrNodeFormat {
  eGrNodeFormat_Unknown,
  eGrNodeFormat_Float,
  eGrNodeFormat_Vector,
  eGrNodeFormat_Matrix,
  eGrNodeFormat_Int,
  eGrNodeFormat_Bool,
  eGrNodeFormat_Texture2D,
  eGrNodeFormat_Texture3D,
  eGrNodeFormat_TextureCUBE
};
File

IShader.h

EGrNodeIOSemantic Enumeration
C++
enum EGrNodeIOSemantic {
  eGrNodeIOSemantic_Unknown,
  eGrNodeIOSemantic_Custom,
  eGrNodeIOSemantic_VPos,
  eGrNodeIOSemantic_Color0,
  eGrNodeIOSemantic_Color1,
  eGrNodeIOSemantic_Color2,
  eGrNodeIOSemantic_Color3,
  eGrNodeIOSemantic_Normal,
  eGrNodeIOSemantic_TexCoord0,
  eGrNodeIOSemantic_TexCoord1,
  eGrNodeIOSemantic_TexCoord2,
  eGrNodeIOSemantic_TexCoord3,
  eGrNodeIOSemantic_TexCoord4,
  eGrNodeIOSemantic_TexCoord5,
  eGrNodeIOSemantic_TexCoord6,
  eGrNodeIOSemantic_TexCoord7,
  eGrNodeIOSemantic_Tangent,
  eGrNodeIOSemantic_Binormal
};
File

IShader.h

EGrNodeType Enumeration
C++
enum EGrNodeType {
  eGrNode_Unknown,
  eGrNode_Input,
  eGrNode_Output
};
File

IShader.h

EHWSkinningRuntimeFlags Enumeration

Runtime shader flags for HW skinning.

C++
enum EHWSkinningRuntimeFlags {
  eHWS_MotionBlured = 0x04,
  eHWS_SkinnedLinear = 0x08
};
File

IShader.h

EParamType Enumeration
C++
enum EParamType {
  eType_UNKNOWN,
  eType_BYTE,
  eType_BOOL,
  eType_SHORT,
  eType_INT,
  eType_HALF,
  eType_FLOAT,
  eType_STRING,
  eType_FCOLOR,
  eType_VECTOR,
  eType_TEXTURE_HANDLE,
  eType_CAMERA
};
File

IShader.h

ERenderListID Enumeration
C++
enum ERenderListID {
  EFSLIST_INVALID = 0,
  EFSLIST_PREPROCESS,
  EFSLIST_GENERAL,
  EFSLIST_TERRAINLAYER,
  EFSLIST_SHADOW_GEN,
  EFSLIST_DECAL,
  EFSLIST_WATER_VOLUMES,
  EFSLIST_TRANSP,
  EFSLIST_WATER,
  EFSLIST_HDRPOSTPROCESS,
  EFSLIST_AFTER_HDRPOSTPROCESS,
  EFSLIST_POSTPROCESS,
  EFSLIST_AFTER_POSTPROCESS,
  EFSLIST_SHADOW_PASS,
  EFSLIST_DEFERRED_PREPROCESS,
  EFSLIST_SKIN,
  EFSLIST_HALFRES_PARTICLES,
  EFSLIST_PARTICLES_THICKNESS,
  EFSLIST_LENSOPTICS,
  EFSLIST_EYE_OVERLAY,
  EFSLIST_NUM
};
File

IShader.h

Members
Members
Description
EFSLIST_INVALID = 0
Don't use, internally used.
EFSLIST_PREPROCESS
Pre-process items.
EFSLIST_GENERAL
Opaque ambient_light+shadow passes.
EFSLIST_TERRAINLAYER
Unsorted terrain layers.
EFSLIST_SHADOW_GEN
Shadow map generation.
EFSLIST_DECAL
Opaque or transparent decals.
EFSLIST_WATER_VOLUMES
After decals.
EFSLIST_TRANSP
Sorted by distance under-water render items.
EFSLIST_WATER
Water-ocean render items.
EFSLIST_HDRPOSTPROCESS
Hdr post-processing screen effects.
EFSLIST_AFTER_HDRPOSTPROCESS
After hdr post-processing screen effects.
EFSLIST_POSTPROCESS
Post-processing screen effects.
EFSLIST_AFTER_POSTPROCESS
After post-processing screen effects.
EFSLIST_SHADOW_PASS
Shadow mask generation (usually from from shadow maps).
EFSLIST_DEFERRED_PREPROCESS
Pre-process before deferred passes.
EFSLIST_SKIN
Skin rendering pre-process
EFSLIST_HALFRES_PARTICLES
Half resolution particles
EFSLIST_PARTICLES_THICKNESS
Particles thickness passes
EFSLIST_LENSOPTICS
Lens-optics processing
EFSLIST_EYE_OVERLAY
Eye overlay layer requires special processing
Description

EFSLIST_ lists

Notes

declaration order/index value has no explicit meaning.

ERenderObjectFlags Enumeration
C++
enum ERenderObjectFlags {
  FOB_TRANS_ROTATE = BIT(0),
  FOB_TRANS_SCALE = BIT(1),
  FOB_TRANS_TRANSLATE = BIT(2),
  FOB_RENDER_AFTER_POSTPROCESSING = BIT(3),
  FOB_OWNER_GEOMETRY = BIT(4),
  FOB_MESH_SUBSET_INDICES = BIT(5),
  FOB_SELECTED = BIT(6),
  FOB_RENDERER_IDENDITY_OBJECT = BIT(7),
  FOB_GLOBAL_ILLUMINATION = BIT(8),
  FOB_NO_FOG = BIT(9),
  FOB_DECAL = BIT(10),
  FOB_OCTAGONAL = BIT(11),
  FOB_BLEND_WITH_TERRAIN_COLOR = BIT(12),
  FOB_POINT_SPRITE = BIT(13),
  FOB_SOFT_PARTICLE = BIT(14),
  FOB_REQUIRES_RESOLVE = BIT(15),
  FOB_UPDATED_RTMASK = BIT(16),
  FOB_AFTER_WATER = BIT(17),
  FOB_BENDED = BIT(18),
  FOB_ZPREPASS = BIT(19),
  FOB_INSHADOW = BIT(20),
  FOB_DISSOLVE = BIT(21),
  FOB_MOTION_BLUR = BIT(22),
  FOB_NEAREST = BIT(23),
  FOB_SKINNED = BIT(24),
  FOB_DISSOLVE_OUT = BIT(25),
  FOB_DYNAMIC_OBJECT = BIT(26),
  FOB_ALLOW_TESSELLATION = BIT(27),
  FOB_DECAL_TEXGEN_2D = BIT(28),
  FOB_IN_DOORS = BIT(29),
  FOB_HAS_PREVMATRIX = BIT(30),
  FOB_LIGHTVOLUME = BIT(31),
  FOB_TRANS_MASK = (FOB_TRANS_ROTATE | FOB_TRANS_SCALE | FOB_TRANS_TRANSLATE),
  FOB_DECAL_MASK = (FOB_DECAL | FOB_DECAL_TEXGEN_2D),
  FOB_PARTICLE_MASK = (FOB_SOFT_PARTICLE | FOB_NO_FOG | FOB_GLOBAL_ILLUMINATION | FOB_INSHADOW | FOB_NEAREST | FOB_MOTION_BLUR | FOB_LIGHTVOLUME | FOB_ALLOW_TESSELLATION | FOB_IN_DOORS | FOB_AFTER_WATER),
  FOB_MASK_AFFECTS_MERGING_GEOM = (FOB_ZPREPASS | FOB_SKINNED | FOB_BENDED | FOB_DYNAMIC_OBJECT | FOB_ALLOW_TESSELLATION | FOB_NEAREST),
  FOB_MASK_AFFECTS_MERGING = (FOB_ZPREPASS | FOB_MOTION_BLUR | FOB_HAS_PREVMATRIX | FOB_SKINNED | FOB_BENDED | FOB_INSHADOW | FOB_AFTER_WATER | FOB_DISSOLVE | FOB_DISSOLVE_OUT | FOB_NEAREST | FOB_DYNAMIC_OBJECT | FOB_ALLOW_TESSELLATION)
};
File

IShader.h

Members
Members
Description
FOB_NEAREST = BIT(23)
Rendered in Camera Space
FOB_MASK_AFFECTS_MERGING_GEOM = (FOB_ZPREPASS | FOB_SKINNED | FOB_BENDED | FOB_DYNAMIC_OBJECT | FOB_ALLOW_TESSELLATION | FOB_NEAREST)
WARNING: FOB_MASK_AFFECTS_MERGING must start from 0x10000/bit 16 (important for instancing).
Description

CRenderObject::m_ObjFlags: Flags used by shader pipeline

ERenderQuality Enumeration
C++
enum ERenderQuality {
  eRQ_Low = 0,
  eRQ_Medium = 1,
  eRQ_High = 2,
  eRQ_VeryHigh = 3,
  eRQ_Max = 4
};
File

IShader.h

ERenderResource Enumeration
C++
enum ERenderResource {
  eRR_Unknown,
  eRR_Mesh,
  eRR_Texture,
  eRR_Shader,
  eRR_ShaderResource
};
File

IShader.h

EResClassName Enumeration
C++
enum EResClassName {
  eRCN_Texture,
  eRCN_Shader
};
File

IShader.h

Description

namespace SPURenderObjectsCache

EShaderQuality Enumeration
C++
enum EShaderQuality {
  eSQ_Low = 0,
  eSQ_Medium = 1,
  eSQ_High = 2,
  eSQ_VeryHigh = 3,
  eSQ_Max = 4
};
File

IShader.h

EShaderTechniqueID Enumeration
C++
enum EShaderTechniqueID {
  TTYPE_Z = 0,
  TTYPE_CAUSTICS,
  TTYPE_SHADOWPASS,
  TTYPE_SHADOWGEN,
  TTYPE_GLOWPASS,
  TTYPE_MOTIONBLURPASS,
  TTYPE_CUSTOMRENDERPASS,
  TTYPE_EFFECTLAYER,
  TTYPE_SOFTALPHATESTPASS,
  TTYPE_WATERREFLPASS,
  TTYPE_WATERCAUSTICPASS,
  TTYPE_ZPREPASS,
  TTYPE_PARTICLESTHICKNESSPASS,
  TTYPE_MAX
};
File

IShader.h

Description

Registered shader techniques ID's

EShaderType Enumeration
C++
enum EShaderType {
  eST_All = -1,
  eST_General = 0,
  eST_Metal,
  eST_Glass,
  eST_Vegetation,
  eST_Ice,
  eST_Terrain,
  eST_Shadow,
  eST_Water,
  eST_FX,
  eST_PostProcess,
  eST_HDR,
  eST_Sky,
  eST_Particle,
  eST_Compute,
  eST_Max
};
File

IShader.h

Members
Members
Description
eST_All = -1
To set all with one call.
eST_Max
To define array size.
ESrcPointer Enumeration

Array Pointers for Shaders.

C++
enum ESrcPointer {
  eSrcPointer_Unknown,
  eSrcPointer_Vert,
  eSrcPointer_Color,
  eSrcPointer_Tex,
  eSrcPointer_TexLM,
  eSrcPointer_Normal,
  eSrcPointer_Binormal,
  eSrcPointer_Tangent,
  eSrcPointer_Max
};
File

IShader.h

ETexGenType Enumeration
C++
enum ETexGenType {
  ETG_Stream,
  ETG_World,
  ETG_Camera,
  ETG_WorldEnvMap,
  ETG_CameraEnvMap,
  ETG_NormalMap,
  ETG_SphereMap,
  ETG_Max
};
File

IShader.h

ETexModMoveType Enumeration
C++
enum ETexModMoveType {
  ETMM_NoChange,
  ETMM_Fixed,
  ETMM_Constant,
  ETMM_Jitter,
  ETMM_Pan,
  ETMM_Stretch,
  ETMM_StretchRepeat,
  ETMM_Max
};
File

IShader.h

ETexModRotateType Enumeration
C++
enum ETexModRotateType {
  ETMR_NoChange,
  ETMR_Fixed,
  ETMR_Constant,
  ETMR_Oscillated,
  ETMR_Max
};
File

IShader.h

EWaveForm Enumeration

Wave form evaluator flags.

C++
enum EWaveForm {
  eWF_None,
  eWF_Sin,
  eWF_HalfSin,
  eWF_InvHalfSin,
  eWF_Square,
  eWF_Triangle,
  eWF_SawTooth,
  eWF_InvSawTooth,
  eWF_Hill,
  eWF_InvHill
};
File

IShader.h

UParamVal Union
C++
union UParamVal {
  byte m_Byte;
  bool m_Bool;
  short m_Short;
  int m_Int;
  float m_Float;
  char * m_String;
  float m_Color[4];
  float m_Vector[3];
  CCamera * m_pCamera;
};
File

IShader.h