mirror of
https://github.com/nillerusr/source-engine.git
synced 2024-12-23 06:36:54 +00:00
228 lines
5.2 KiB
C++
228 lines
5.2 KiB
C++
|
//========= 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 )
|
||
|
{
|
||
|
}
|
||
|
|