You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
197 lines
4.4 KiB
197 lines
4.4 KiB
// ALL SKIP STATEMENTS THAT AFFECT THIS SHADER!!!
|
|
// $MULTITEXTURE && $BASETEXTURE
|
|
// $FLOWMAP && $MULTITEXTURE
|
|
// ( $FLASHLIGHT == 0 ) && ( $FLASHLIGHTSHADOWS == 1 )
|
|
// ( $FLASHLIGHT || $LIGHTMAPWATERFOG ) && ( ( $BASETEXTURE && !$FLOWMAP ) || $MULTITEXTURE )
|
|
// defined $LIGHTING_PREVIEW && defined $FASTPATH && $LIGHTING_PREVIEW && $FASTPATH
|
|
#include "shaderlib/cshader.h"
|
|
class water_vs20_Static_Index
|
|
{
|
|
private:
|
|
int m_nBASETEXTURE;
|
|
#ifdef _DEBUG
|
|
bool m_bBASETEXTURE;
|
|
#endif
|
|
public:
|
|
void SetBASETEXTURE( int i )
|
|
{
|
|
Assert( i >= 0 && i <= 1 );
|
|
m_nBASETEXTURE = i;
|
|
#ifdef _DEBUG
|
|
m_bBASETEXTURE = true;
|
|
#endif
|
|
}
|
|
void SetBASETEXTURE( bool i )
|
|
{
|
|
Assert( ( i ? 1 : 0 ) >= 0 && ( i ? 1 : 0 ) <= 1 );
|
|
m_nBASETEXTURE = i ? 1 : 0;
|
|
#ifdef _DEBUG
|
|
m_bBASETEXTURE = true;
|
|
#endif
|
|
}
|
|
private:
|
|
int m_nMULTITEXTURE;
|
|
#ifdef _DEBUG
|
|
bool m_bMULTITEXTURE;
|
|
#endif
|
|
public:
|
|
void SetMULTITEXTURE( int i )
|
|
{
|
|
Assert( i >= 0 && i <= 1 );
|
|
m_nMULTITEXTURE = i;
|
|
#ifdef _DEBUG
|
|
m_bMULTITEXTURE = true;
|
|
#endif
|
|
}
|
|
void SetMULTITEXTURE( bool i )
|
|
{
|
|
Assert( ( i ? 1 : 0 ) >= 0 && ( i ? 1 : 0 ) <= 1 );
|
|
m_nMULTITEXTURE = i ? 1 : 0;
|
|
#ifdef _DEBUG
|
|
m_bMULTITEXTURE = true;
|
|
#endif
|
|
}
|
|
private:
|
|
int m_nFLASHLIGHT;
|
|
#ifdef _DEBUG
|
|
bool m_bFLASHLIGHT;
|
|
#endif
|
|
public:
|
|
void SetFLASHLIGHT( int i )
|
|
{
|
|
Assert( i >= 0 && i <= 1 );
|
|
m_nFLASHLIGHT = i;
|
|
#ifdef _DEBUG
|
|
m_bFLASHLIGHT = true;
|
|
#endif
|
|
}
|
|
void SetFLASHLIGHT( bool i )
|
|
{
|
|
Assert( ( i ? 1 : 0 ) >= 0 && ( i ? 1 : 0 ) <= 1 );
|
|
m_nFLASHLIGHT = i ? 1 : 0;
|
|
#ifdef _DEBUG
|
|
m_bFLASHLIGHT = true;
|
|
#endif
|
|
}
|
|
private:
|
|
int m_nLIGHTMAPWATERFOG;
|
|
#ifdef _DEBUG
|
|
bool m_bLIGHTMAPWATERFOG;
|
|
#endif
|
|
public:
|
|
void SetLIGHTMAPWATERFOG( int i )
|
|
{
|
|
Assert( i >= 0 && i <= 1 );
|
|
m_nLIGHTMAPWATERFOG = i;
|
|
#ifdef _DEBUG
|
|
m_bLIGHTMAPWATERFOG = true;
|
|
#endif
|
|
}
|
|
void SetLIGHTMAPWATERFOG( bool i )
|
|
{
|
|
Assert( ( i ? 1 : 0 ) >= 0 && ( i ? 1 : 0 ) <= 1 );
|
|
m_nLIGHTMAPWATERFOG = i ? 1 : 0;
|
|
#ifdef _DEBUG
|
|
m_bLIGHTMAPWATERFOG = true;
|
|
#endif
|
|
}
|
|
private:
|
|
int m_nFLOWMAP;
|
|
#ifdef _DEBUG
|
|
bool m_bFLOWMAP;
|
|
#endif
|
|
public:
|
|
void SetFLOWMAP( int i )
|
|
{
|
|
Assert( i >= 0 && i <= 1 );
|
|
m_nFLOWMAP = i;
|
|
#ifdef _DEBUG
|
|
m_bFLOWMAP = true;
|
|
#endif
|
|
}
|
|
void SetFLOWMAP( bool i )
|
|
{
|
|
Assert( ( i ? 1 : 0 ) >= 0 && ( i ? 1 : 0 ) <= 1 );
|
|
m_nFLOWMAP = i ? 1 : 0;
|
|
#ifdef _DEBUG
|
|
m_bFLOWMAP = true;
|
|
#endif
|
|
}
|
|
public:
|
|
// CONSTRUCTOR
|
|
water_vs20_Static_Index( IShaderShadow *pShaderShadow, IMaterialVar **params )
|
|
{
|
|
#ifdef _DEBUG
|
|
m_bBASETEXTURE = false;
|
|
#endif // _DEBUG
|
|
m_nBASETEXTURE = 0;
|
|
#ifdef _DEBUG
|
|
m_bMULTITEXTURE = false;
|
|
#endif // _DEBUG
|
|
m_nMULTITEXTURE = 0;
|
|
#ifdef _DEBUG
|
|
m_bFLASHLIGHT = false;
|
|
#endif // _DEBUG
|
|
m_nFLASHLIGHT = 0;
|
|
#ifdef _DEBUG
|
|
m_bLIGHTMAPWATERFOG = false;
|
|
#endif // _DEBUG
|
|
m_nLIGHTMAPWATERFOG = 0;
|
|
#ifdef _DEBUG
|
|
m_bFLOWMAP = false;
|
|
#endif // _DEBUG
|
|
m_nFLOWMAP = 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_bBASETEXTURE && m_bMULTITEXTURE && m_bFLASHLIGHT && m_bLIGHTMAPWATERFOG && m_bFLOWMAP;
|
|
Assert( bAllStaticVarsDefined );
|
|
#endif // _DEBUG
|
|
return ( 1 * m_nBASETEXTURE ) + ( 2 * m_nMULTITEXTURE ) + ( 4 * m_nFLASHLIGHT ) + ( 8 * m_nLIGHTMAPWATERFOG ) + ( 16 * m_nFLOWMAP ) + 0;
|
|
}
|
|
};
|
|
#define shaderStaticTest_water_vs20 vsh_forgot_to_set_static_BASETEXTURE + vsh_forgot_to_set_static_MULTITEXTURE + vsh_forgot_to_set_static_FLASHLIGHT + vsh_forgot_to_set_static_LIGHTMAPWATERFOG + vsh_forgot_to_set_static_FLOWMAP + 0
|
|
class water_vs20_Dynamic_Index
|
|
{
|
|
public:
|
|
// CONSTRUCTOR
|
|
water_vs20_Dynamic_Index( IShaderDynamicAPI *pShaderAPI )
|
|
{
|
|
}
|
|
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
|
|
#endif // _DEBUG
|
|
return 0;
|
|
}
|
|
};
|
|
#define shaderDynamicTest_water_vs20 0
|
|
|
|
static const ShaderComboInformation_t s_StaticComboArray_Water_vs20[5] =
|
|
{
|
|
{ "BASETEXTURE", 0, 1 },
|
|
{ "MULTITEXTURE", 0, 1 },
|
|
{ "FLASHLIGHT", 0, 1 },
|
|
{ "LIGHTMAPWATERFOG", 0, 1 },
|
|
{ "FLOWMAP", 0, 1 },
|
|
};
|
|
static const ShaderComboSemantics_t Water_vs20_combos =
|
|
{
|
|
"Water_vs20", NULL, 0, s_StaticComboArray_Water_vs20, 5
|
|
};
|
|
|
|
class ConstructMe_Water_vs20
|
|
{
|
|
public:
|
|
ConstructMe_Water_vs20()
|
|
{
|
|
GetShaderDLL()->AddShaderComboInformation( &Water_vs20_combos );
|
|
}
|
|
};
|
|
|
|
static ConstructMe_Water_vs20 s_ConstructMe_Water_vs20;
|