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
|