aboutsummaryrefslogtreecommitdiff
path: root/mp/src/public/materialsystem/IShader.h
diff options
context:
space:
mode:
Diffstat (limited to 'mp/src/public/materialsystem/IShader.h')
-rw-r--r--mp/src/public/materialsystem/IShader.h110
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