64 lines
3.2 KiB
C
64 lines
3.2 KiB
C
|
//========= Copyright (c) 1996-2008, Valve LLC, All rights reserved. ============
|
||
|
//
|
||
|
// Purpose:
|
||
|
//
|
||
|
// $NoKeywords: $
|
||
|
//=============================================================================
|
||
|
|
||
|
#ifndef PHONG_DX9_HELPER_H
|
||
|
#define PHONG_DX9_HELPER_H
|
||
|
|
||
|
#include <string.h>
|
||
|
|
||
|
#include "vertexlitgeneric_dx9_helper.h"
|
||
|
|
||
|
//-----------------------------------------------------------------------------
|
||
|
// Forward declarations
|
||
|
//-----------------------------------------------------------------------------
|
||
|
class CBaseVSShader;
|
||
|
class IMaterialVar;
|
||
|
class IShaderDynamicAPI;
|
||
|
class IShaderShadow;
|
||
|
|
||
|
void InitParamsPhong_DX9( CBaseVSShader *pShader, IMaterialVar** params, const char *pMaterialName, VertexLitGeneric_DX9_Vars_t &info );
|
||
|
void InitPhong_DX9( CBaseVSShader *pShader, IMaterialVar** params, VertexLitGeneric_DX9_Vars_t &info );
|
||
|
void DrawPhong_DX9( CBaseVSShader *pShader, IMaterialVar** params, IShaderDynamicAPI *pShaderAPI, IShaderShadow* pShaderShadow,
|
||
|
VertexLitGeneric_DX9_Vars_t &info, VertexCompressionType_t vertexCompression, CBasePerMaterialContextData **pContextDataPtr );
|
||
|
void DrawPhong_DX9_ExecuteFastPath( int *vsDynIndex, int *psDynIndex,
|
||
|
CBaseVSShader *pShader, IMaterialVar** params, IShaderDynamicAPI * pShaderAPI,
|
||
|
VertexLitGeneric_DX9_Vars_t &info,
|
||
|
VertexCompressionType_t vertexCompression,
|
||
|
CBasePerMaterialContextData **pContextDataPtr, BOOL bCSMEnabled );
|
||
|
|
||
|
inline void ClampDetailBlendModeAndWarn( int &nDetailBlendMode, int nMin, int nMax )
|
||
|
{
|
||
|
if ( nDetailBlendMode < nMin || nDetailBlendMode > nMax )
|
||
|
{
|
||
|
Warning( "========================================================================\n" );
|
||
|
Warning( "========================================================================\n" );
|
||
|
Warning( "========================================================================\n" );
|
||
|
Warning( "Material uses an out of range $detailblendmode of %d. Should be in [%d,%d].\nGive a programmer a repro case, or look at your modified vmt files\n", nDetailBlendMode, nMin, nMax );
|
||
|
Warning( "========================================================================\n" );
|
||
|
Warning( "========================================================================\n" );
|
||
|
Warning( "========================================================================\n" );
|
||
|
nDetailBlendMode = 0;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
inline void ClampDecalBlendModeAndWarn( int &nDecalBlendMode, int nMin, int nMax )
|
||
|
{
|
||
|
if ( nDecalBlendMode < nMin || nDecalBlendMode > nMax )
|
||
|
{
|
||
|
Warning( "========================================================================\n" );
|
||
|
Warning( "========================================================================\n" );
|
||
|
Warning( "========================================================================\n" );
|
||
|
Warning( "Material uses an out of range $decalblendmode of %d. Should be in [%d,%d].\nGive a programmer a repro case, or look at your modified vmt files\n", nDecalBlendMode, nMin, nMax );
|
||
|
Warning( "========================================================================\n" );
|
||
|
Warning( "========================================================================\n" );
|
||
|
Warning( "========================================================================\n" );
|
||
|
nDecalBlendMode = 0;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
#endif // PHONG_DX9_HELPER_H
|