Team Fortress 2 Source Code as on 22/4/2020
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.
|
|
//========= 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( Teeth, Teeth_DX6 )
BEGIN_VS_SHADER( Teeth_DX6, "Help for Teeth_DX6" ) BEGIN_SHADER_PARAMS SHADER_PARAM( ILLUMFACTOR, SHADER_PARAM_TYPE_FLOAT, "1", "Amount to darken or brighten the teeth" ) SHADER_PARAM( FORWARD, SHADER_PARAM_TYPE_VEC3, "[1 0 0]", "Forward direction vector for teeth lighting" ) END_SHADER_PARAMS
SHADER_INIT_PARAMS() { // FLASHLIGHTFIXME
params[FLASHLIGHTTEXTURE]->SetStringValue( "effects/flashlight001" );
SET_FLAGS2( MATERIAL_VAR2_SUPPORTS_HW_SKINNING ); }
SHADER_INIT { LoadTexture( FLASHLIGHTTEXTURE ); LoadTexture( BASETEXTURE ); }
void DrawUsingSoftwareLighting( IMaterialVar** params, IShaderDynamicAPI *pShaderAPI, IShaderShadow* pShaderShadow ) { SHADOW_STATE { pShaderShadow->EnableTexture( SHADER_SAMPLER0, true ); pShaderShadow->OverbrightValue( SHADER_TEXTURE_STAGE0, OVERBRIGHT ); pShaderShadow->DrawFlags( SHADER_DRAW_POSITION | SHADER_DRAW_COLOR | SHADER_DRAW_TEXCOORD0 ); FogToFogColor(); } DYNAMIC_STATE { BindTexture( SHADER_SAMPLER0, BASETEXTURE, FRAME ); } Draw(); }
SHADER_DRAW { SHADOW_STATE { SET_FLAGS2( MATERIAL_VAR2_LIGHTING_VERTEX_LIT ); } bool hasFlashlight = UsingFlashlight( params );
if( hasFlashlight ) { DrawFlashlight_dx70( params, pShaderAPI, pShaderShadow, FLASHLIGHTTEXTURE, FLASHLIGHTTEXTUREFRAME ); } else { DrawUsingSoftwareLighting( params, pShaderAPI, pShaderShadow ); } } END_SHADER
|