mirror of
https://github.com/alliedmodders/hl2sdk.git
synced 2024-12-23 01:59:43 +08:00
67 lines
1.5 KiB
C++
67 lines
1.5 KiB
C++
//========= Copyright Valve Corporation, All rights reserved. ============//
|
|
//
|
|
// Run procedural glint generation inner loop in pixel shader
|
|
//
|
|
// $Header: $
|
|
// $NoKeywords: $
|
|
//===========================================================================//
|
|
|
|
#include "BaseVSShader.h"
|
|
#include "shaderlib/cshader.h"
|
|
|
|
#include "eyeglint_vs20.inc"
|
|
#include "eyeglint_ps20.inc"
|
|
#include "eyeglint_ps20b.inc"
|
|
|
|
DEFINE_FALLBACK_SHADER( EyeGlint, EyeGlint_dx9 )
|
|
BEGIN_VS_SHADER( EyeGlint_dx9, "Help for EyeGlint" )
|
|
|
|
BEGIN_SHADER_PARAMS
|
|
END_SHADER_PARAMS
|
|
|
|
SHADER_INIT
|
|
{
|
|
}
|
|
|
|
SHADER_FALLBACK
|
|
{
|
|
if ( g_pHardwareConfig->GetDXSupportLevel() < 90 )
|
|
{
|
|
return "Wireframe";
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
SHADER_DRAW
|
|
{
|
|
SHADOW_STATE
|
|
{
|
|
pShaderShadow->EnableDepthWrites( false );
|
|
|
|
pShaderShadow->EnableBlending( true );
|
|
pShaderShadow->BlendFunc( SHADER_BLEND_ONE, SHADER_BLEND_ONE ); // Additive blending
|
|
|
|
int pTexCoords[3] = { 2, 2, 3 };
|
|
pShaderShadow->VertexShaderVertexFormat( VERTEX_POSITION, 3, pTexCoords, 0 );
|
|
|
|
pShaderShadow->EnableCulling( false );
|
|
|
|
pShaderShadow->EnableSRGBWrite( false ); // linear texture
|
|
|
|
DECLARE_STATIC_VERTEX_SHADER( eyeglint_vs20 );
|
|
SET_STATIC_VERTEX_SHADER( eyeglint_vs20 );
|
|
|
|
SET_STATIC_PS2X_PIXEL_SHADER_NO_COMBOS( eyeglint );
|
|
}
|
|
|
|
DYNAMIC_STATE
|
|
{
|
|
DECLARE_DYNAMIC_VERTEX_SHADER( eyeglint_vs20 );
|
|
SET_DYNAMIC_VERTEX_SHADER( eyeglint_vs20 );
|
|
|
|
SET_DYNAMIC_PS2X_PIXEL_SHADER_NO_COMBOS( eyeglint );
|
|
}
|
|
Draw();
|
|
}
|
|
END_SHADER
|