enum EColorArg { eCA_Unknown, eCA_Specular, eCA_Texture, eCA_Texture1, eCA_Normal, eCA_Diffuse, eCA_Previous, eCA_Constant };
IShader.h
Color operations flags.
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 };
IShader.h
Geometry Culling type.
enum ECull { eCULL_Back = 0, eCULL_Front, eCULL_None };
IShader.h
Members |
Description |
eCULL_Back = 0 |
Back culling flag. |
eCULL_Front |
Front culling flag. |
eCULL_None |
No culling flag. |
Deformations/Morphing types.
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 };
IShader.h
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) };
IShader.h
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 |
DLights
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 };
IShader.h
enum EGrBlockSamplerType { eGrBlockSampler_Unknown, eGrBlockSampler_2D, eGrBlockSampler_3D, eGrBlockSampler_Cube, eGrBlockSampler_Bias2D, eGrBlockSampler_BiasCube };
IShader.h
Shader graph support.
enum EGrBlockType { eGrBlock_Unknown, eGrBlock_VertexInput, eGrBlock_VertexOutput, eGrBlock_PixelInput, eGrBlock_PixelOutput, eGrBlock_Texture, eGrBlock_Sampler, eGrBlock_Function, eGrBlock_Constant };
IShader.h
enum EGrNodeFormat { eGrNodeFormat_Unknown, eGrNodeFormat_Float, eGrNodeFormat_Vector, eGrNodeFormat_Matrix, eGrNodeFormat_Int, eGrNodeFormat_Bool, eGrNodeFormat_Texture2D, eGrNodeFormat_Texture3D, eGrNodeFormat_TextureCUBE };
IShader.h
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 };
IShader.h
enum EGrNodeType { eGrNode_Unknown, eGrNode_Input, eGrNode_Output };
IShader.h
Runtime shader flags for HW skinning.
enum EHWSkinningRuntimeFlags { eHWS_MotionBlured = 0x04, eHWS_SkinnedLinear = 0x08 };
IShader.h
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 };
IShader.h
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 };
IShader.h
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 |
EFSLIST_ lists
declaration order/index value has no explicit meaning.
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) };
IShader.h
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). |
CRenderObject::m_ObjFlags: Flags used by shader pipeline
enum ERenderQuality { eRQ_Low = 0, eRQ_Medium = 1, eRQ_High = 2, eRQ_VeryHigh = 3, eRQ_Max = 4 };
IShader.h
enum ERenderResource { eRR_Unknown, eRR_Mesh, eRR_Texture, eRR_Shader, eRR_ShaderResource };
IShader.h
enum EResClassName { eRCN_Texture, eRCN_Shader };
IShader.h
namespace SPURenderObjectsCache
enum EShaderQuality { eSQ_Low = 0, eSQ_Medium = 1, eSQ_High = 2, eSQ_VeryHigh = 3, eSQ_Max = 4 };
IShader.h
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 };
IShader.h
Registered shader techniques ID's
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 };
IShader.h
Members |
Description |
eST_All = -1 |
To set all with one call. |
eST_Max |
To define array size. |
Array Pointers for Shaders.
enum ESrcPointer { eSrcPointer_Unknown, eSrcPointer_Vert, eSrcPointer_Color, eSrcPointer_Tex, eSrcPointer_TexLM, eSrcPointer_Normal, eSrcPointer_Binormal, eSrcPointer_Tangent, eSrcPointer_Max };
IShader.h
enum ETexGenType { ETG_Stream, ETG_World, ETG_Camera, ETG_WorldEnvMap, ETG_CameraEnvMap, ETG_NormalMap, ETG_SphereMap, ETG_Max };
IShader.h
enum ETexModMoveType { ETMM_NoChange, ETMM_Fixed, ETMM_Constant, ETMM_Jitter, ETMM_Pan, ETMM_Stretch, ETMM_StretchRepeat, ETMM_Max };
IShader.h
enum ETexModRotateType { ETMR_NoChange, ETMR_Fixed, ETMR_Constant, ETMR_Oscillated, ETMR_Max };
IShader.h
Wave form evaluator flags.
enum EWaveForm { eWF_None, eWF_Sin, eWF_HalfSin, eWF_InvHalfSin, eWF_Square, eWF_Triangle, eWF_SawTooth, eWF_InvSawTooth, eWF_Hill, eWF_InvHill };
IShader.h
IShader.h