diff options
Diffstat (limited to 'mp/src/public/materialsystem/IShader.h')
| -rw-r--r-- | mp/src/public/materialsystem/IShader.h | 110 |
1 files changed, 5 insertions, 105 deletions
diff --git a/mp/src/public/materialsystem/IShader.h b/mp/src/public/materialsystem/IShader.h index 27bf91e3..7815e8aa 100644 --- a/mp/src/public/materialsystem/IShader.h +++ b/mp/src/public/materialsystem/IShader.h @@ -21,8 +21,9 @@ // it's not 256, because you can't use all 256 slots in 10.5.x. // use this constant everywhere you might normally use "256" in reference to a parameter array size. // The highest shader constant is c218, plus we allocate c219 and c220 for two clip planes -#define DXABSTRACT_VS_PARAM_SLOTS 219 +#define DXABSTRACT_VS_PARAM_SLOTS 228 #define DXABSTRACT_VS_FIRST_BONE_SLOT VERTEX_SHADER_MODEL +#define DXABSTRACT_VS_LAST_BONE_SLOT (VERTEX_SHADER_SHADER_SPECIFIC_CONST_13-1) // user clip plane 0 goes in DXABSTRACT_VS_CLIP_PLANE_BASE... plane 1 goes in the slot after that // dxabstract uses these constants to check plane index limit and to deliver planes to shader for DP4 -> oCLP[n] @@ -33,6 +34,8 @@ #include "materialsystem/imaterialsystem.h" #include "materialsystem/ishaderapi.h" +#include "materialsystem/ishadersystem_declarations.h" + //----------------------------------------------------------------------------- // forward declarations @@ -44,24 +47,6 @@ class IShaderInit; class CBasePerMaterialContextData; //----------------------------------------------------------------------------- -// Shader flags -//----------------------------------------------------------------------------- -enum ShaderFlags_t -{ - SHADER_NOT_EDITABLE = 0x1 -}; - - -//----------------------------------------------------------------------------- -// Shader parameter flags -//----------------------------------------------------------------------------- -enum ShaderParamFlags_t -{ - SHADER_PARAM_NOT_EDITABLE = 0x1 -}; - - -//----------------------------------------------------------------------------- // Information about each shader parameter //----------------------------------------------------------------------------- struct ShaderParamInfo_t @@ -74,72 +59,10 @@ struct ShaderParamInfo_t }; -//----------------------------------------------------------------------------- -// Standard vertex shader constants -//----------------------------------------------------------------------------- -enum -{ - // Standard vertex shader constants - VERTEX_SHADER_MATH_CONSTANTS0 = 0, - VERTEX_SHADER_MATH_CONSTANTS1 = 1, - VERTEX_SHADER_CAMERA_POS = 2, - VERTEX_SHADER_FLEXSCALE = 3, // used by DX9 only! - VERTEX_SHADER_LIGHT_INDEX = 3, // used by DX8 only! - VERTEX_SHADER_MODELVIEWPROJ = 4, - VERTEX_SHADER_VIEWPROJ = 8, - VERTEX_SHADER_MODELVIEWPROJ_THIRD_ROW = 12, - VERTEX_SHADER_VIEWPROJ_THIRD_ROW = 13, - VERTEX_SHADER_SHADER_SPECIFIC_CONST_10 = 14, - VERTEX_SHADER_SHADER_SPECIFIC_CONST_11 = 15, - VERTEX_SHADER_FOG_PARAMS = 16, - VERTEX_SHADER_VIEWMODEL = 17, - VERTEX_SHADER_AMBIENT_LIGHT = 21, - VERTEX_SHADER_LIGHTS = 27, - VERTEX_SHADER_LIGHT0_POSITION = 29, - VERTEX_SHADER_MODULATION_COLOR = 47, - VERTEX_SHADER_SHADER_SPECIFIC_CONST_0 = 48, - VERTEX_SHADER_SHADER_SPECIFIC_CONST_1 = 49, - VERTEX_SHADER_SHADER_SPECIFIC_CONST_2 = 50, - VERTEX_SHADER_SHADER_SPECIFIC_CONST_3 = 51, - VERTEX_SHADER_SHADER_SPECIFIC_CONST_4 = 52, - VERTEX_SHADER_SHADER_SPECIFIC_CONST_5 = 53, - VERTEX_SHADER_SHADER_SPECIFIC_CONST_6 = 54, - VERTEX_SHADER_SHADER_SPECIFIC_CONST_7 = 55, - VERTEX_SHADER_SHADER_SPECIFIC_CONST_8 = 56, - VERTEX_SHADER_SHADER_SPECIFIC_CONST_9 = 57, - VERTEX_SHADER_MODEL = 58, - - // - // We reserve up through 216 for the 53 bones - // - - // 219 ClipPlane0 |------ OpenGL will jam clip planes into these two - // 220 ClipPlane1 | - - VERTEX_SHADER_FLEX_WEIGHTS = 1024, - VERTEX_SHADER_MAX_FLEX_WEIGHT_COUNT = 512, -}; #define VERTEX_SHADER_BONE_TRANSFORM( k ) ( VERTEX_SHADER_MODEL + 3 * (k) ) -//----------------------------------------------------------------------------- -// Standard vertex shader constants -//----------------------------------------------------------------------------- -enum -{ - // Standard vertex shader constants - VERTEX_SHADER_LIGHT_ENABLE_BOOL_CONST = 0, - VERTEX_SHADER_LIGHT_ENABLE_BOOL_CONST_COUNT = 4, - - VERTEX_SHADER_SHADER_SPECIFIC_BOOL_CONST_0 = 4, - VERTEX_SHADER_SHADER_SPECIFIC_BOOL_CONST_1 = 5, - VERTEX_SHADER_SHADER_SPECIFIC_BOOL_CONST_2 = 6, - VERTEX_SHADER_SHADER_SPECIFIC_BOOL_CONST_3 = 7, - VERTEX_SHADER_SHADER_SPECIFIC_BOOL_CONST_4 = 8, - VERTEX_SHADER_SHADER_SPECIFIC_BOOL_CONST_5 = 9, - VERTEX_SHADER_SHADER_SPECIFIC_BOOL_CONST_6 = 10, - VERTEX_SHADER_SHADER_SPECIFIC_BOOL_CONST_7 = 11, -}; + // The public methods exposed by each shader //----------------------------------------------------------------------------- abstract_class IShader @@ -179,27 +102,4 @@ public: // virtual const ShaderParamInfo_t& GetParamInfo( int paramIndex ) const = 0; }; - -//----------------------------------------------------------------------------- -// Shader dictionaries defined in DLLs -//----------------------------------------------------------------------------- -enum PrecompiledShaderType_t -{ - PRECOMPILED_VERTEX_SHADER = 0, - PRECOMPILED_PIXEL_SHADER, - - PRECOMPILED_SHADER_TYPE_COUNT, -}; - - -//----------------------------------------------------------------------------- -// Flags field of PrecompiledShader_t -//----------------------------------------------------------------------------- -enum -{ - // runtime flags - SHADER_DYNAMIC_COMPILE_IS_HLSL = 0x1, - SHADER_FAILED_LOAD = 0x2, -}; - #endif // ISHADER_H |