forked from OpenSourceDeathrun/OSDR
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This should include the latest version of every shader that was in the 2007 SDK. It also includes a smattering of debug shaders, both VR distortion shaders, and other assorted shaders that will hopefully be useful. None of these new files are included in the game shader DLL project. If you need to modify one of these shaders for use in your mod you will need to rename it so that you don't collide with the version of that shader that lives in stdshader_dx9.dll.
- Loading branch information
Showing
710 changed files
with
74,048 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,122 @@ | ||
//========= Copyright Valve Corporation, All rights reserved. ============// | ||
// | ||
// Purpose: | ||
// | ||
// $NoKeywords: $ | ||
//===========================================================================// | ||
|
||
#include "BaseVSShader.h" | ||
#include "BlurFilter_vs20.inc" | ||
#include "BlurFilter_ps20.inc" | ||
#include "BlurFilter_ps20b.inc" | ||
|
||
// memdbgon must be the last include file in a .cpp file!!! | ||
#include "tier0/memdbgon.h" | ||
|
||
BEGIN_VS_SHADER_FLAGS( BlurFilterX, "Help for BlurFilterX", SHADER_NOT_EDITABLE ) | ||
BEGIN_SHADER_PARAMS | ||
END_SHADER_PARAMS | ||
|
||
SHADER_INIT | ||
{ | ||
if( params[BASETEXTURE]->IsDefined() ) | ||
{ | ||
LoadTexture( BASETEXTURE ); | ||
} | ||
} | ||
|
||
SHADER_FALLBACK | ||
{ | ||
if ( g_pHardwareConfig->GetDXSupportLevel() < 90 ) | ||
{ | ||
return "BlurFilterX_DX80"; | ||
} | ||
return 0; | ||
} | ||
|
||
SHADER_DRAW | ||
{ | ||
SHADOW_STATE | ||
{ | ||
pShaderShadow->EnableDepthWrites( false ); | ||
pShaderShadow->EnableAlphaWrites( true ); | ||
pShaderShadow->EnableTexture( SHADER_SAMPLER0, true ); | ||
pShaderShadow->VertexShaderVertexFormat( VERTEX_POSITION, 1, 0, 0 ); | ||
|
||
// Render targets are pegged as sRGB on POSIX, so just force these reads and writes | ||
bool bForceSRGBReadAndWrite = IsOSX() && g_pHardwareConfig->CanDoSRGBReadFromRTs(); | ||
pShaderShadow->EnableSRGBRead( SHADER_SAMPLER0, bForceSRGBReadAndWrite ); | ||
pShaderShadow->EnableSRGBWrite( bForceSRGBReadAndWrite ); | ||
|
||
// Pre-cache shaders | ||
blurfilter_vs20_Static_Index vshIndex; | ||
pShaderShadow->SetVertexShader( "BlurFilter_vs20", vshIndex.GetIndex() ); | ||
|
||
if( g_pHardwareConfig->SupportsPixelShaders_2_b() || g_pHardwareConfig->ShouldAlwaysUseShaderModel2bShaders() ) | ||
{ | ||
DECLARE_STATIC_PIXEL_SHADER( blurfilter_ps20b ); | ||
#ifndef _X360 | ||
SET_STATIC_PIXEL_SHADER_COMBO( APPROX_SRGB_ADAPTER, bForceSRGBReadAndWrite ); | ||
#endif | ||
SET_STATIC_PIXEL_SHADER( blurfilter_ps20b ); | ||
} | ||
else | ||
{ | ||
DECLARE_STATIC_PIXEL_SHADER( blurfilter_ps20 ); | ||
SET_STATIC_PIXEL_SHADER( blurfilter_ps20 ); | ||
} | ||
|
||
if ( IS_FLAG_SET( MATERIAL_VAR_ADDITIVE ) ) | ||
EnableAlphaBlending( SHADER_BLEND_ONE, SHADER_BLEND_ONE ); | ||
} | ||
|
||
DYNAMIC_STATE | ||
{ | ||
BindTexture( SHADER_SAMPLER0, BASETEXTURE, -1 ); | ||
|
||
float v[4]; | ||
|
||
// The temp buffer is 1/4 back buffer size | ||
ITexture *src_texture = params[BASETEXTURE]->GetTextureValue(); | ||
int width = src_texture->GetActualWidth(); | ||
float dX = 1.0f / width; | ||
|
||
// Tap offsets | ||
v[0] = 1.3366f * dX; | ||
v[1] = 0.0f; | ||
pShaderAPI->SetVertexShaderConstant( VERTEX_SHADER_SHADER_SPECIFIC_CONST_0, v, 1 ); | ||
v[0] = 3.4295f * dX; | ||
v[1] = 0.0f; | ||
pShaderAPI->SetVertexShaderConstant( VERTEX_SHADER_SHADER_SPECIFIC_CONST_1, v, 1 ); | ||
v[0] = 5.4264f * dX; | ||
v[1] = 0.0f; | ||
pShaderAPI->SetVertexShaderConstant( VERTEX_SHADER_SHADER_SPECIFIC_CONST_2, v, 1 ); | ||
|
||
v[0] = 7.4359f * dX; | ||
v[1] = 0.0f; | ||
pShaderAPI->SetPixelShaderConstant( 0, v, 1 ); | ||
v[0] = 9.4436f * dX; | ||
v[1] = 0.0f; | ||
pShaderAPI->SetPixelShaderConstant( 1, v, 1 ); | ||
v[0] = 11.4401f * dX; | ||
v[1] = 0.0f; | ||
pShaderAPI->SetPixelShaderConstant( 2, v, 1 ); | ||
v[0] = v[1] = v[2] = v[3] = 1.0; | ||
pShaderAPI->SetPixelShaderConstant( 3, v, 1 ); | ||
|
||
pShaderAPI->SetVertexShaderIndex( 0 ); | ||
|
||
if( g_pHardwareConfig->SupportsPixelShaders_2_b() || g_pHardwareConfig->ShouldAlwaysUseShaderModel2bShaders() ) | ||
{ | ||
DECLARE_DYNAMIC_PIXEL_SHADER( blurfilter_ps20b ); | ||
SET_DYNAMIC_PIXEL_SHADER( blurfilter_ps20b ); | ||
} | ||
else | ||
{ | ||
DECLARE_DYNAMIC_PIXEL_SHADER( blurfilter_ps20 ); | ||
SET_DYNAMIC_PIXEL_SHADER( blurfilter_ps20 ); | ||
} | ||
} | ||
Draw(); | ||
} | ||
END_SHADER |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
//========= Copyright Valve Corporation, All rights reserved. ============// | ||
// | ||
// Purpose: | ||
// | ||
//===========================================================================// | ||
|
||
#include "BaseVSShader.h" | ||
// memdbgon must be the last include file in a .cpp file!!! | ||
#include "tier0/memdbgon.h" | ||
|
||
DEFINE_FALLBACK_SHADER( BlurFilterX, BlurFilterX_DX80 ) | ||
|
||
BEGIN_VS_SHADER_FLAGS( BlurFilterX_DX80, "Help for BlurFilterX_DX80", SHADER_NOT_EDITABLE ) | ||
BEGIN_SHADER_PARAMS | ||
END_SHADER_PARAMS | ||
|
||
SHADER_INIT | ||
{ | ||
if( params[BASETEXTURE]->IsDefined() ) | ||
{ | ||
LoadTexture( BASETEXTURE ); | ||
} | ||
} | ||
|
||
SHADER_FALLBACK | ||
{ | ||
if ( g_pHardwareConfig->GetDXSupportLevel() < 80 ) | ||
{ | ||
return "Wireframe"; | ||
} | ||
return 0; | ||
} | ||
|
||
SHADER_DRAW | ||
{ | ||
SHADOW_STATE | ||
{ | ||
pShaderShadow->EnableDepthWrites( false ); | ||
pShaderShadow->EnableAlphaWrites( true ); | ||
pShaderShadow->EnableTexture( SHADER_SAMPLER0, true ); | ||
pShaderShadow->EnableTexture( SHADER_SAMPLER1, true ); | ||
pShaderShadow->EnableTexture( SHADER_SAMPLER2, true ); | ||
pShaderShadow->EnableTexture( SHADER_SAMPLER3, true ); | ||
pShaderShadow->VertexShaderVertexFormat( VERTEX_POSITION, 1, 0, 0 ); | ||
|
||
// Pre-cache shaders | ||
pShaderShadow->SetVertexShader( "BlurFilter_vs11", 0 ); | ||
pShaderShadow->SetPixelShader( "BlurFilter_ps11", 0 ); | ||
|
||
if ( IS_FLAG_SET( MATERIAL_VAR_ADDITIVE ) ) | ||
EnableAlphaBlending( SHADER_BLEND_ONE, SHADER_BLEND_ONE ); | ||
} | ||
|
||
DYNAMIC_STATE | ||
{ | ||
BindTexture( SHADER_SAMPLER0, BASETEXTURE, -1 ); | ||
BindTexture( SHADER_SAMPLER1, BASETEXTURE, -1 ); | ||
BindTexture( SHADER_SAMPLER2, BASETEXTURE, -1 ); | ||
BindTexture( SHADER_SAMPLER3, BASETEXTURE, -1 ); | ||
|
||
// The temp buffer is 1/4 back buffer size | ||
ITexture *src_texture=params[BASETEXTURE]->GetTextureValue(); | ||
int width = src_texture->GetActualWidth(); | ||
float dX = 2.0f / width; | ||
|
||
// 4 Tap offsets, expected from pixel center | ||
float v[4][4]; | ||
v[0][0] = -1.5f * dX; | ||
v[0][1] = 0; | ||
v[1][0] = -0.5f * dX; | ||
v[1][1] = 0; | ||
v[2][0] = 0.5f * dX; | ||
v[2][1] = 0; | ||
v[3][0] = 1.5f * dX; | ||
v[3][1] = 0; | ||
pShaderAPI->SetVertexShaderConstant( VERTEX_SHADER_SHADER_SPECIFIC_CONST_0, &v[0][0], 4 ); | ||
|
||
v[0][0] = v[0][1] = v[0][2] = v[0][3] = 1.0f; | ||
pShaderAPI->SetPixelShaderConstant( 1, v[0], 1 ); | ||
|
||
pShaderAPI->SetVertexShaderIndex( 0 ); | ||
pShaderAPI->SetPixelShaderIndex( 0 ); | ||
} | ||
Draw(); | ||
} | ||
END_SHADER |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,136 @@ | ||
//========= Copyright Valve Corporation, All rights reserved. ============// | ||
// | ||
// Purpose: | ||
// | ||
//===========================================================================// | ||
|
||
#include "BaseVSShader.h" | ||
#include "BlurFilter_vs20.inc" | ||
#include "BlurFilter_ps20.inc" | ||
#include "BlurFilter_ps20b.inc" | ||
|
||
// memdbgon must be the last include file in a .cpp file!!! | ||
#include "tier0/memdbgon.h" | ||
|
||
BEGIN_VS_SHADER_FLAGS( BlurFilterY, "Help for BlurFilterY", SHADER_NOT_EDITABLE ) | ||
BEGIN_SHADER_PARAMS | ||
SHADER_PARAM( BLOOMAMOUNT, SHADER_PARAM_TYPE_FLOAT, "1.0", "" ) | ||
SHADER_PARAM( FRAMETEXTURE, SHADER_PARAM_TYPE_TEXTURE, "_rt_SmallHDR0", "" ) | ||
END_SHADER_PARAMS | ||
|
||
SHADER_INIT_PARAMS() | ||
{ | ||
if ( !( params[BLOOMAMOUNT]->IsDefined() ) ) | ||
{ | ||
params[BLOOMAMOUNT]->SetFloatValue( 1.0 ); | ||
} | ||
} | ||
|
||
SHADER_INIT | ||
{ | ||
if ( params[BASETEXTURE]->IsDefined() ) | ||
{ | ||
LoadTexture( BASETEXTURE ); | ||
} | ||
} | ||
|
||
SHADER_FALLBACK | ||
{ | ||
if ( g_pHardwareConfig->GetDXSupportLevel() < 90 ) | ||
{ | ||
return "BlurFilterY_DX80"; | ||
} | ||
return 0; | ||
} | ||
|
||
SHADER_DRAW | ||
{ | ||
SHADOW_STATE | ||
{ | ||
pShaderShadow->EnableDepthWrites( false ); | ||
pShaderShadow->EnableAlphaWrites( true ); | ||
pShaderShadow->EnableTexture( SHADER_SAMPLER0, true ); | ||
pShaderShadow->VertexShaderVertexFormat( VERTEX_POSITION, 1, 0, 0 ); | ||
|
||
// Render targets are pegged as sRGB on POSIX, so just force these reads and writes | ||
bool bForceSRGBReadAndWrite = IsOSX() && g_pHardwareConfig->CanDoSRGBReadFromRTs(); | ||
pShaderShadow->EnableSRGBRead( SHADER_SAMPLER0, bForceSRGBReadAndWrite ); | ||
pShaderShadow->EnableSRGBWrite( bForceSRGBReadAndWrite ); | ||
|
||
// Pre-cache shaders | ||
DECLARE_STATIC_VERTEX_SHADER( blurfilter_vs20 ); | ||
SET_STATIC_VERTEX_SHADER( blurfilter_vs20 ); | ||
|
||
if( g_pHardwareConfig->SupportsPixelShaders_2_b() || g_pHardwareConfig->ShouldAlwaysUseShaderModel2bShaders() ) | ||
{ | ||
DECLARE_STATIC_PIXEL_SHADER( blurfilter_ps20b ); | ||
#ifndef _X360 | ||
SET_STATIC_PIXEL_SHADER_COMBO( APPROX_SRGB_ADAPTER, bForceSRGBReadAndWrite ); | ||
#endif | ||
SET_STATIC_PIXEL_SHADER( blurfilter_ps20b ); | ||
} | ||
else | ||
{ | ||
DECLARE_STATIC_PIXEL_SHADER( blurfilter_ps20 ); | ||
SET_STATIC_PIXEL_SHADER( blurfilter_ps20 ); | ||
} | ||
|
||
if ( IS_FLAG_SET( MATERIAL_VAR_ADDITIVE ) ) | ||
EnableAlphaBlending( SHADER_BLEND_ONE, SHADER_BLEND_ONE ); | ||
} | ||
|
||
DYNAMIC_STATE | ||
{ | ||
BindTexture( SHADER_SAMPLER0, BASETEXTURE, -1 ); | ||
|
||
// The temp buffer is 1/4 back buffer size | ||
ITexture *src_texture = params[BASETEXTURE]->GetTextureValue(); | ||
int height = src_texture->GetActualWidth(); | ||
float dY = 1.0f / height; | ||
// dY *= 0.4; | ||
float v[4]; | ||
|
||
// Tap offsets | ||
v[0] = 0.0f; | ||
v[1] = 1.3366f * dY; | ||
v[2] = 0; | ||
v[3] = 0; | ||
pShaderAPI->SetVertexShaderConstant( VERTEX_SHADER_SHADER_SPECIFIC_CONST_0, v, 1 ); | ||
v[0] = 0.0f; | ||
v[1] = 3.4295f * dY; | ||
pShaderAPI->SetVertexShaderConstant( VERTEX_SHADER_SHADER_SPECIFIC_CONST_1, v, 1 ); | ||
v[0] = 0.0f; | ||
v[1] = 5.4264f * dY; | ||
pShaderAPI->SetVertexShaderConstant( VERTEX_SHADER_SHADER_SPECIFIC_CONST_2, v, 1 ); | ||
|
||
v[0] = 0.0f; | ||
v[1] = 7.4359f * dY; | ||
pShaderAPI->SetPixelShaderConstant( 0, v, 1 ); | ||
v[0] = 0.0f; | ||
v[1] = 9.4436f * dY; | ||
pShaderAPI->SetPixelShaderConstant( 1, v, 1 ); | ||
v[0] = 0.0f; | ||
v[1] = 11.4401f * dY; | ||
pShaderAPI->SetPixelShaderConstant( 2, v, 1 ); | ||
|
||
v[0]=v[1]=v[2]=params[BLOOMAMOUNT]->GetFloatValue(); | ||
|
||
pShaderAPI->SetPixelShaderConstant( 3, v, 1 ); | ||
|
||
DECLARE_DYNAMIC_VERTEX_SHADER( blurfilter_ps20 ); | ||
SET_DYNAMIC_VERTEX_SHADER( blurfilter_ps20 ); | ||
|
||
if( g_pHardwareConfig->SupportsPixelShaders_2_b() || g_pHardwareConfig->ShouldAlwaysUseShaderModel2bShaders() ) | ||
{ | ||
DECLARE_DYNAMIC_PIXEL_SHADER( blurfilter_ps20b ); | ||
SET_DYNAMIC_PIXEL_SHADER( blurfilter_ps20b ); | ||
} | ||
else | ||
{ | ||
DECLARE_DYNAMIC_PIXEL_SHADER( blurfilter_ps20 ); | ||
SET_DYNAMIC_PIXEL_SHADER( blurfilter_ps20 ); | ||
} | ||
} | ||
Draw(); | ||
} | ||
END_SHADER |
Oops, something went wrong.