mirror of
https://github.com/celisej567/cool-source-archive.git
synced 2026-09-21 20:10:15 +03:00
288 lines
5.9 KiB
C++
288 lines
5.9 KiB
C++
#include "shaderlib/cshader.h"
|
|
class vertexlitpbr_vs30_Static_Index
|
|
{
|
|
private:
|
|
int m_nVERTEXCOLOR;
|
|
#ifdef _DEBUG
|
|
bool m_bVERTEXCOLOR;
|
|
#endif
|
|
public:
|
|
void SetVERTEXCOLOR( int i )
|
|
{
|
|
Assert( i >= 0 && i <= 1 );
|
|
m_nVERTEXCOLOR = i;
|
|
#ifdef _DEBUG
|
|
m_bVERTEXCOLOR = true;
|
|
#endif
|
|
}
|
|
void SetVERTEXCOLOR( bool i )
|
|
{
|
|
m_nVERTEXCOLOR = i ? 1 : 0;
|
|
#ifdef _DEBUG
|
|
m_bVERTEXCOLOR = true;
|
|
#endif
|
|
}
|
|
private:
|
|
int m_nCUBEMAP;
|
|
#ifdef _DEBUG
|
|
bool m_bCUBEMAP;
|
|
#endif
|
|
public:
|
|
void SetCUBEMAP( int i )
|
|
{
|
|
Assert( i >= 0 && i <= 1 );
|
|
m_nCUBEMAP = i;
|
|
#ifdef _DEBUG
|
|
m_bCUBEMAP = true;
|
|
#endif
|
|
}
|
|
void SetCUBEMAP( bool i )
|
|
{
|
|
m_nCUBEMAP = i ? 1 : 0;
|
|
#ifdef _DEBUG
|
|
m_bCUBEMAP = true;
|
|
#endif
|
|
}
|
|
private:
|
|
int m_nDONT_GAMMA_CONVERT_VERTEX_COLOR;
|
|
#ifdef _DEBUG
|
|
bool m_bDONT_GAMMA_CONVERT_VERTEX_COLOR;
|
|
#endif
|
|
public:
|
|
void SetDONT_GAMMA_CONVERT_VERTEX_COLOR( int i )
|
|
{
|
|
Assert( i >= 0 && i <= 1 );
|
|
m_nDONT_GAMMA_CONVERT_VERTEX_COLOR = i;
|
|
#ifdef _DEBUG
|
|
m_bDONT_GAMMA_CONVERT_VERTEX_COLOR = true;
|
|
#endif
|
|
}
|
|
void SetDONT_GAMMA_CONVERT_VERTEX_COLOR( bool i )
|
|
{
|
|
m_nDONT_GAMMA_CONVERT_VERTEX_COLOR = i ? 1 : 0;
|
|
#ifdef _DEBUG
|
|
m_bDONT_GAMMA_CONVERT_VERTEX_COLOR = true;
|
|
#endif
|
|
}
|
|
public:
|
|
vertexlitpbr_vs30_Static_Index( )
|
|
{
|
|
#ifdef _DEBUG
|
|
m_bVERTEXCOLOR = false;
|
|
#endif // _DEBUG
|
|
m_nVERTEXCOLOR = 0;
|
|
#ifdef _DEBUG
|
|
m_bCUBEMAP = false;
|
|
#endif // _DEBUG
|
|
m_nCUBEMAP = 0;
|
|
#ifdef _DEBUG
|
|
m_bDONT_GAMMA_CONVERT_VERTEX_COLOR = false;
|
|
#endif // _DEBUG
|
|
m_nDONT_GAMMA_CONVERT_VERTEX_COLOR = 0;
|
|
}
|
|
int GetIndex()
|
|
{
|
|
// Asserts to make sure that we aren't using any skipped combinations.
|
|
// Asserts to make sure that we are setting all of the combination vars.
|
|
#ifdef _DEBUG
|
|
bool bAllStaticVarsDefined = m_bVERTEXCOLOR && m_bCUBEMAP && m_bDONT_GAMMA_CONVERT_VERTEX_COLOR;
|
|
Assert( bAllStaticVarsDefined );
|
|
#endif // _DEBUG
|
|
return ( 320 * m_nVERTEXCOLOR ) + ( 640 * m_nCUBEMAP ) + ( 1280 * m_nDONT_GAMMA_CONVERT_VERTEX_COLOR ) + 0;
|
|
}
|
|
};
|
|
#define shaderStaticTest_vertexlitpbr_vs30 vsh_forgot_to_set_static_VERTEXCOLOR + vsh_forgot_to_set_static_CUBEMAP + vsh_forgot_to_set_static_DONT_GAMMA_CONVERT_VERTEX_COLOR + 0
|
|
class vertexlitpbr_vs30_Dynamic_Index
|
|
{
|
|
private:
|
|
int m_nCOMPRESSED_VERTS;
|
|
#ifdef _DEBUG
|
|
bool m_bCOMPRESSED_VERTS;
|
|
#endif
|
|
public:
|
|
void SetCOMPRESSED_VERTS( int i )
|
|
{
|
|
Assert( i >= 0 && i <= 1 );
|
|
m_nCOMPRESSED_VERTS = i;
|
|
#ifdef _DEBUG
|
|
m_bCOMPRESSED_VERTS = true;
|
|
#endif
|
|
}
|
|
void SetCOMPRESSED_VERTS( bool i )
|
|
{
|
|
m_nCOMPRESSED_VERTS = i ? 1 : 0;
|
|
#ifdef _DEBUG
|
|
m_bCOMPRESSED_VERTS = true;
|
|
#endif
|
|
}
|
|
private:
|
|
int m_nDOWATERFOG;
|
|
#ifdef _DEBUG
|
|
bool m_bDOWATERFOG;
|
|
#endif
|
|
public:
|
|
void SetDOWATERFOG( int i )
|
|
{
|
|
Assert( i >= 0 && i <= 1 );
|
|
m_nDOWATERFOG = i;
|
|
#ifdef _DEBUG
|
|
m_bDOWATERFOG = true;
|
|
#endif
|
|
}
|
|
void SetDOWATERFOG( bool i )
|
|
{
|
|
m_nDOWATERFOG = i ? 1 : 0;
|
|
#ifdef _DEBUG
|
|
m_bDOWATERFOG = true;
|
|
#endif
|
|
}
|
|
private:
|
|
int m_nSKINNING;
|
|
#ifdef _DEBUG
|
|
bool m_bSKINNING;
|
|
#endif
|
|
public:
|
|
void SetSKINNING( int i )
|
|
{
|
|
Assert( i >= 0 && i <= 1 );
|
|
m_nSKINNING = i;
|
|
#ifdef _DEBUG
|
|
m_bSKINNING = true;
|
|
#endif
|
|
}
|
|
void SetSKINNING( bool i )
|
|
{
|
|
m_nSKINNING = i ? 1 : 0;
|
|
#ifdef _DEBUG
|
|
m_bSKINNING = true;
|
|
#endif
|
|
}
|
|
private:
|
|
int m_nLIGHTING_PREVIEW;
|
|
#ifdef _DEBUG
|
|
bool m_bLIGHTING_PREVIEW;
|
|
#endif
|
|
public:
|
|
void SetLIGHTING_PREVIEW( int i )
|
|
{
|
|
Assert( i >= 0 && i <= 1 );
|
|
m_nLIGHTING_PREVIEW = i;
|
|
#ifdef _DEBUG
|
|
m_bLIGHTING_PREVIEW = true;
|
|
#endif
|
|
}
|
|
void SetLIGHTING_PREVIEW( bool i )
|
|
{
|
|
m_nLIGHTING_PREVIEW = i ? 1 : 0;
|
|
#ifdef _DEBUG
|
|
m_bLIGHTING_PREVIEW = true;
|
|
#endif
|
|
}
|
|
private:
|
|
int m_nNUM_LIGHTS;
|
|
#ifdef _DEBUG
|
|
bool m_bNUM_LIGHTS;
|
|
#endif
|
|
public:
|
|
void SetNUM_LIGHTS( int i )
|
|
{
|
|
Assert( i >= 0 && i <= 4 );
|
|
m_nNUM_LIGHTS = i;
|
|
#ifdef _DEBUG
|
|
m_bNUM_LIGHTS = true;
|
|
#endif
|
|
}
|
|
void SetNUM_LIGHTS( bool i )
|
|
{
|
|
m_nNUM_LIGHTS = i ? 1 : 0;
|
|
#ifdef _DEBUG
|
|
m_bNUM_LIGHTS = true;
|
|
#endif
|
|
}
|
|
private:
|
|
int m_nDYNAMIC_LIGHT;
|
|
#ifdef _DEBUG
|
|
bool m_bDYNAMIC_LIGHT;
|
|
#endif
|
|
public:
|
|
void SetDYNAMIC_LIGHT( int i )
|
|
{
|
|
Assert( i >= 0 && i <= 1 );
|
|
m_nDYNAMIC_LIGHT = i;
|
|
#ifdef _DEBUG
|
|
m_bDYNAMIC_LIGHT = true;
|
|
#endif
|
|
}
|
|
void SetDYNAMIC_LIGHT( bool i )
|
|
{
|
|
m_nDYNAMIC_LIGHT = i ? 1 : 0;
|
|
#ifdef _DEBUG
|
|
m_bDYNAMIC_LIGHT = true;
|
|
#endif
|
|
}
|
|
private:
|
|
int m_nSTATIC_LIGHT;
|
|
#ifdef _DEBUG
|
|
bool m_bSTATIC_LIGHT;
|
|
#endif
|
|
public:
|
|
void SetSTATIC_LIGHT( int i )
|
|
{
|
|
Assert( i >= 0 && i <= 1 );
|
|
m_nSTATIC_LIGHT = i;
|
|
#ifdef _DEBUG
|
|
m_bSTATIC_LIGHT = true;
|
|
#endif
|
|
}
|
|
void SetSTATIC_LIGHT( bool i )
|
|
{
|
|
m_nSTATIC_LIGHT = i ? 1 : 0;
|
|
#ifdef _DEBUG
|
|
m_bSTATIC_LIGHT = true;
|
|
#endif
|
|
}
|
|
public:
|
|
vertexlitpbr_vs30_Dynamic_Index()
|
|
{
|
|
#ifdef _DEBUG
|
|
m_bCOMPRESSED_VERTS = false;
|
|
#endif // _DEBUG
|
|
m_nCOMPRESSED_VERTS = 0;
|
|
#ifdef _DEBUG
|
|
m_bDOWATERFOG = false;
|
|
#endif // _DEBUG
|
|
m_nDOWATERFOG = 0;
|
|
#ifdef _DEBUG
|
|
m_bSKINNING = false;
|
|
#endif // _DEBUG
|
|
m_nSKINNING = 0;
|
|
#ifdef _DEBUG
|
|
m_bLIGHTING_PREVIEW = false;
|
|
#endif // _DEBUG
|
|
m_nLIGHTING_PREVIEW = 0;
|
|
#ifdef _DEBUG
|
|
m_bNUM_LIGHTS = false;
|
|
#endif // _DEBUG
|
|
m_nNUM_LIGHTS = 0;
|
|
#ifdef _DEBUG
|
|
m_bDYNAMIC_LIGHT = false;
|
|
#endif // _DEBUG
|
|
m_nDYNAMIC_LIGHT = 0;
|
|
#ifdef _DEBUG
|
|
m_bSTATIC_LIGHT = false;
|
|
#endif // _DEBUG
|
|
m_nSTATIC_LIGHT = 0;
|
|
}
|
|
int GetIndex()
|
|
{
|
|
// Asserts to make sure that we aren't using any skipped combinations.
|
|
// Asserts to make sure that we are setting all of the combination vars.
|
|
#ifdef _DEBUG
|
|
bool bAllDynamicVarsDefined = m_bCOMPRESSED_VERTS && m_bDOWATERFOG && m_bSKINNING && m_bLIGHTING_PREVIEW && m_bNUM_LIGHTS && m_bDYNAMIC_LIGHT && m_bSTATIC_LIGHT;
|
|
Assert( bAllDynamicVarsDefined );
|
|
#endif // _DEBUG
|
|
return ( 1 * m_nCOMPRESSED_VERTS ) + ( 2 * m_nDOWATERFOG ) + ( 4 * m_nSKINNING ) + ( 8 * m_nLIGHTING_PREVIEW ) + ( 16 * m_nNUM_LIGHTS ) + ( 80 * m_nDYNAMIC_LIGHT ) + ( 160 * m_nSTATIC_LIGHT ) + 0;
|
|
}
|
|
};
|
|
#define shaderDynamicTest_vertexlitpbr_vs30 vsh_forgot_to_set_dynamic_COMPRESSED_VERTS + vsh_forgot_to_set_dynamic_DOWATERFOG + vsh_forgot_to_set_dynamic_SKINNING + vsh_forgot_to_set_dynamic_LIGHTING_PREVIEW + vsh_forgot_to_set_dynamic_NUM_LIGHTS + vsh_forgot_to_set_dynamic_DYNAMIC_LIGHT + vsh_forgot_to_set_dynamic_STATIC_LIGHT + 0
|