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.
227 lines
5.2 KiB
227 lines
5.2 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: |
|
// |
|
// $NoKeywords: $ |
|
// |
|
//===========================================================================// |
|
|
|
#include "shadershadowdx10.h" |
|
#include "utlvector.h" |
|
#include "materialsystem/imaterialsystem.h" |
|
#include "IHardwareConfigInternal.h" |
|
#include "shadersystem.h" |
|
#include "shaderapi/ishaderutil.h" |
|
#include "materialsystem/imesh.h" |
|
#include "tier0/dbg.h" |
|
#include "materialsystem/idebugtextureinfo.h" |
|
|
|
|
|
//----------------------------------------------------------------------------- |
|
// Class Factory |
|
//----------------------------------------------------------------------------- |
|
static CShaderShadowDx10 s_ShaderShadow; |
|
CShaderShadowDx10 *g_pShaderShadowDx10 = &s_ShaderShadow; |
|
|
|
EXPOSE_SINGLE_INTERFACE_GLOBALVAR( CShaderShadowDx10, IShaderShadow, |
|
SHADERSHADOW_INTERFACE_VERSION, s_ShaderShadow ) |
|
|
|
//----------------------------------------------------------------------------- |
|
// The shader shadow interface |
|
//----------------------------------------------------------------------------- |
|
CShaderShadowDx10::CShaderShadowDx10() |
|
{ |
|
m_IsTranslucent = false; |
|
m_IsAlphaTested = false; |
|
m_bIsDepthWriteEnabled = true; |
|
m_bUsesVertexAndPixelShaders = false; |
|
} |
|
|
|
CShaderShadowDx10::~CShaderShadowDx10() |
|
{ |
|
} |
|
|
|
// Sets the default *shadow* state |
|
void CShaderShadowDx10::SetDefaultState() |
|
{ |
|
m_IsTranslucent = false; |
|
m_IsAlphaTested = false; |
|
m_bIsDepthWriteEnabled = true; |
|
m_bUsesVertexAndPixelShaders = false; |
|
} |
|
|
|
// Methods related to depth buffering |
|
void CShaderShadowDx10::DepthFunc( ShaderDepthFunc_t depthFunc ) |
|
{ |
|
} |
|
|
|
void CShaderShadowDx10::EnableDepthWrites( bool bEnable ) |
|
{ |
|
m_bIsDepthWriteEnabled = bEnable; |
|
} |
|
|
|
void CShaderShadowDx10::EnableDepthTest( bool bEnable ) |
|
{ |
|
} |
|
|
|
void CShaderShadowDx10::EnablePolyOffset( PolygonOffsetMode_t nOffsetMode ) |
|
{ |
|
} |
|
|
|
// Suppresses/activates color writing |
|
void CShaderShadowDx10::EnableColorWrites( bool bEnable ) |
|
{ |
|
} |
|
|
|
// Suppresses/activates alpha writing |
|
void CShaderShadowDx10::EnableAlphaWrites( bool bEnable ) |
|
{ |
|
} |
|
|
|
// Methods related to alpha blending |
|
void CShaderShadowDx10::EnableBlending( bool bEnable ) |
|
{ |
|
m_IsTranslucent = bEnable; |
|
} |
|
|
|
void CShaderShadowDx10::BlendFunc( ShaderBlendFactor_t srcFactor, ShaderBlendFactor_t dstFactor ) |
|
{ |
|
} |
|
|
|
void CShaderShadowDx10::BlendOp( ShaderBlendOp_t blendOp ) |
|
{ |
|
} |
|
|
|
void CShaderShadowDx10::BlendOpSeparateAlpha( ShaderBlendOp_t blendOp ) |
|
{ |
|
} |
|
|
|
// A simpler method of dealing with alpha modulation |
|
void CShaderShadowDx10::EnableAlphaPipe( bool bEnable ) |
|
{ |
|
} |
|
|
|
void CShaderShadowDx10::EnableConstantAlpha( bool bEnable ) |
|
{ |
|
} |
|
|
|
void CShaderShadowDx10::EnableVertexAlpha( bool bEnable ) |
|
{ |
|
} |
|
|
|
void CShaderShadowDx10::EnableTextureAlpha( TextureStage_t stage, bool bEnable ) |
|
{ |
|
} |
|
|
|
void CShaderShadowDx10::SetShadowDepthFiltering( Sampler_t stage ) |
|
{ |
|
} |
|
|
|
// Alpha testing |
|
void CShaderShadowDx10::EnableAlphaTest( bool bEnable ) |
|
{ |
|
m_IsAlphaTested = bEnable; |
|
} |
|
|
|
void CShaderShadowDx10::AlphaFunc( ShaderAlphaFunc_t alphaFunc, float alphaRef /* [0-1] */ ) |
|
{ |
|
} |
|
|
|
// Wireframe/filled polygons |
|
void CShaderShadowDx10::PolyMode( ShaderPolyModeFace_t face, ShaderPolyMode_t polyMode ) |
|
{ |
|
} |
|
|
|
|
|
// Back face culling |
|
void CShaderShadowDx10::EnableCulling( bool bEnable ) |
|
{ |
|
} |
|
|
|
// Alpha to coverage |
|
void CShaderShadowDx10::EnableAlphaToCoverage( bool bEnable ) |
|
{ |
|
} |
|
|
|
// constant color + transparency |
|
void CShaderShadowDx10::EnableConstantColor( bool bEnable ) |
|
{ |
|
} |
|
|
|
|
|
// Indicates the vertex format for use with a vertex shader |
|
// The flags to pass in here come from the VertexFormatFlags_t enum |
|
// If pTexCoordDimensions is *not* specified, we assume all coordinates |
|
// are 2-dimensional |
|
void CShaderShadowDx10::VertexShaderVertexFormat( unsigned int flags, |
|
int numTexCoords, int* pTexCoordDimensions, |
|
int userDataSize ) |
|
{ |
|
} |
|
|
|
// Indicates we're going to light the model |
|
void CShaderShadowDx10::EnableLighting( bool bEnable ) |
|
{ |
|
} |
|
|
|
void CShaderShadowDx10::EnableSpecular( bool bEnable ) |
|
{ |
|
} |
|
|
|
// Activate/deactivate skinning |
|
void CShaderShadowDx10::EnableVertexBlend( bool bEnable ) |
|
{ |
|
} |
|
|
|
// per texture unit stuff |
|
void CShaderShadowDx10::OverbrightValue( TextureStage_t stage, float value ) |
|
{ |
|
} |
|
|
|
void CShaderShadowDx10::EnableTexture( Sampler_t stage, bool bEnable ) |
|
{ |
|
} |
|
|
|
void CShaderShadowDx10::EnableCustomPixelPipe( bool bEnable ) |
|
{ |
|
} |
|
|
|
void CShaderShadowDx10::CustomTextureStages( int stageCount ) |
|
{ |
|
} |
|
|
|
void CShaderShadowDx10::CustomTextureOperation( TextureStage_t stage, ShaderTexChannel_t channel, |
|
ShaderTexOp_t op, ShaderTexArg_t arg1, ShaderTexArg_t arg2 ) |
|
{ |
|
} |
|
|
|
void CShaderShadowDx10::EnableTexGen( TextureStage_t stage, bool bEnable ) |
|
{ |
|
} |
|
|
|
void CShaderShadowDx10::TexGen( TextureStage_t stage, ShaderTexGenParam_t param ) |
|
{ |
|
} |
|
|
|
// Sets the vertex and pixel shaders |
|
void CShaderShadowDx10::SetVertexShader( const char *pShaderName, int vshIndex ) |
|
{ |
|
m_bUsesVertexAndPixelShaders = ( pShaderName != NULL ); |
|
} |
|
|
|
void CShaderShadowDx10::EnableBlendingSeparateAlpha( bool bEnable ) |
|
{ |
|
} |
|
void CShaderShadowDx10::SetPixelShader( const char *pShaderName, int pshIndex ) |
|
{ |
|
m_bUsesVertexAndPixelShaders = ( pShaderName != NULL ); |
|
} |
|
|
|
void CShaderShadowDx10::BlendFuncSeparateAlpha( ShaderBlendFactor_t srcFactor, ShaderBlendFactor_t dstFactor ) |
|
{ |
|
} |
|
// indicates what per-vertex data we're providing |
|
void CShaderShadowDx10::DrawFlags( unsigned int drawFlags ) |
|
{ |
|
} |
|
|
|
|