//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose: 
//
// $Header: $
// $NoKeywords: $
//===========================================================================//

#include "BaseVSShader.h"
#include "particlelitgeneric_dx9_helper.h"

BEGIN_VS_SHADER( ParticleLitGeneric_DX9, 
				"Help for ParticleLitGeneric_DX9" )
	BEGIN_SHADER_PARAMS
		SHADER_PARAM( BUMPMAP, SHADER_PARAM_TYPE_TEXTURE, "models/shadertest/shader1_normal", "bump map" )
		SHADER_PARAM( BUMPFRAME, SHADER_PARAM_TYPE_INTEGER, "0", "frame number for $bumpmap" )
		SHADER_PARAM( BUMPTRANSFORM, SHADER_PARAM_TYPE_MATRIX, "center .5 .5 scale 1 1 rotate 0 translate 0 0", "$bumpmap texcoord transform" )
	END_SHADER_PARAMS

	void SetupVars( ParticleLitGeneric_DX9_Vars_t& info )
	{
		info.m_nBaseTexture = BASETEXTURE;
		info.m_nBaseTextureFrame = FRAME;
		info.m_nBaseTextureTransform = BASETEXTURETRANSFORM;
		info.m_nBumpmap = BUMPMAP;
		info.m_nBumpFrame = BUMPFRAME;
		info.m_nBumpTransform = BUMPTRANSFORM;
		info.m_nAlphaTestReference = -1;
		info.m_nFlashlightTexture = FLASHLIGHTTEXTURE;
		info.m_nFlashlightTextureFrame = FLASHLIGHTTEXTUREFRAME;
	}

	SHADER_INIT_PARAMS()
	{
		ParticleLitGeneric_DX9_Vars_t vars;
		SetupVars( vars );
//		InitParamsParticleLitGeneric_DX9( this, params, pMaterialName, vars );
	}

	SHADER_FALLBACK
	{	
		if (g_pHardwareConfig->GetDXSupportLevel() < 70)
			return "ParticleLitGeneric_DX6";

		if (g_pHardwareConfig->GetDXSupportLevel() < 80)
			return "ParticleLitGeneric_DX7";

		return "ParticleLitGeneric_DX8";

		return 0;
	}

	SHADER_INIT
	{
		ParticleLitGeneric_DX9_Vars_t vars;
		SetupVars( vars );
//		InitParticleLitGeneric_DX9( this, params, vars );
	}

	SHADER_DRAW
	{
		ParticleLitGeneric_DX9_Vars_t vars;
		SetupVars( vars );
//		DrawParticleLitGeneric_DX9( this, params, pShaderAPI, pShaderShadow, vars );
	}
END_SHADER