///////////////////////////////////////////////////////////
// FILE:        TSStestCasesFourStage.cpp
// DESC:        TextureStageTest 3rd generation.
// AUTHOR:      Bobby Paulose 
//				Bill Kristiansen
// Created:		June 11, 2002.
///////////////////////////////////////////////////////////


#include "TextureStage3.h"




TSStestCaseFourStage g_TestCasesFourStages[] =
{

#ifdef CRAZY
#endif CRAZY

/////////////////////////////////////////////////////////////////////////////////
	{
		_T("D3DTOP_SELECTARG1 and 2"),
		TRI_LIST_DST2,
		TRUE,

		// Render State
		D3DRS_ALPHABLENDENABLE,(DWORD)TRUE, D3DRS_SRCBLEND, D3DBLEND_SRCALPHA, D3DRS_DESTBLEND, D3DBLEND_ZERO,
		D3DRS_TEXTUREFACTOR,(DWORD)0x00000000,

		//TSS 0
		D3DTOP_SELECTARG1, D3DTA_DIFFUSE, D3DTA_TFACTOR, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_TFACTOR, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 1
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 2
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 3
		D3DTOP_SELECTARG2, D3DTA_TFACTOR, D3DTA_CURRENT, D3DTA_CURRENT,
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_TFACTOR, D3DTA_CURRENT,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


	},


//////////////////////////////////////////////////////////////////////////
	{
		_T("D3DTOP_MODULATE and D3DTA_TFACTOR"),
		TRI_STRIP_DST2T2,
		TRUE,

		// Render State
		D3DRS_ALPHABLENDENABLE,(DWORD)TRUE, D3DRS_SRCBLEND, D3DBLEND_SRCALPHA, D3DRS_DESTBLEND, D3DBLEND_ZERO,
		D3DRS_TEXTUREFACTOR,(DWORD)0x44222222,

		//TSS 0
		D3DTOP_SELECTARG1, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_CURRENT, D3DTA_TFACTOR, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


		//TSS 1
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_ADD, D3DTA_CURRENT, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 2
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_ADD, D3DTA_CURRENT, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 3
		D3DTOP_MODULATE, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_CURRENT,
		D3DTOP_MODULATE, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_CURRENT,
		D3DTA_CURRENT,
		TEX_TEXT1, CYC_LUMINANCE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


	},


//////////////////////////////////////////////////////////////////////////
	{
		_T("D3DTOP_SELECTARG1/2 and D3DTOP_MODULATE2X"),
		TRI_STRIP_DST2T2,
		TRUE,

		// Render State
		D3DRS_ALPHABLENDENABLE,(DWORD)TRUE, D3DRS_SRCBLEND, D3DBLEND_SRCALPHA, D3DRS_DESTBLEND, D3DBLEND_ZERO,
		D3DRS_TEXTUREFACTOR,(DWORD)0xCC000000,

		//TSS 0
		D3DTOP_SELECTARG1, D3DTA_TEXTURE, D3DTA_TEXTURE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_TEXTURE, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_HALF_WHITE_HALF_ALPHA, CYC_LUMINANCE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


		//TSS 1
		D3DTOP_ADD, D3DTA_CURRENT, D3DTA_TEXTURE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NEWTS, CYC_PREVIOUS_STAGE_DEPENDENT,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 2
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 3
		D3DTOP_MODULATE2X, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_CURRENT,
		D3DTOP_MODULATE2X, D3DTA_CURRENT, D3DTA_CURRENT, D3DTA_CURRENT,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		1,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


	},




//////////////////////////////////////////////////////////////////////////
	{
		_T("D3DTOP_MODULATE4X"),
		TRI_STRIP_DST2T2,
		TRUE,

		// Render State
		D3DRS_ALPHABLENDENABLE,(DWORD)TRUE, D3DRS_SRCBLEND, D3DBLEND_SRCALPHA, D3DRS_DESTBLEND, D3DBLEND_ZERO,
		D3DRS_TEXTUREFACTOR,(DWORD)0xAAAAAAAA,

		//TSS 0
		D3DTOP_MODULATE, D3DTA_DIFFUSE, D3DTA_TEXTURE, D3DTA_DIFFUSE,
		D3DTOP_MODULATE, D3DTA_TEXTURE, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_TEXT3, CYC_LUMINANCE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


		//TSS 1
		D3DTOP_ADD, D3DTA_CURRENT, D3DTA_TEXTURE, D3DTA_DIFFUSE,
		D3DTOP_ADD, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_DECOR, CYC_PREVIOUS_STAGE_DEPENDENT,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 2
		D3DTOP_MODULATE, D3DTA_CURRENT, D3DTA_TEXTURE, D3DTA_DIFFUSE,
		D3DTOP_MODULATE, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_HALF_WHITE_HALF_ALPHA, CYC_PREVIOUS_STAGE_DEPENDENT,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 3
		D3DTOP_MODULATE4X, D3DTA_CURRENT, D3DTA_TEXTURE, D3DTA_DIFFUSE,
		D3DTOP_MODULATE4X, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_ONE_STAGE_ABOVE, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


	},










//////////////////////////////////////////////////////////////////////////
	{
		_T("D3DTOP_ADDSIGNED & D3DTOP_ADD"),
		TRI_STRIP_DST2,
		TRUE,

		// Render State
		D3DRS_ALPHABLENDENABLE,(DWORD)TRUE, D3DRS_SRCBLEND, D3DBLEND_SRCALPHA, D3DRS_DESTBLEND, D3DBLEND_ZERO,
		D3DRS_TEXTUREFACTOR,(DWORD)0xCC888888,

		//TSS 0
		D3DTOP_ADD, D3DTA_TFACTOR, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTOP_ADD, D3DTA_TFACTOR, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 1
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 2
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 3
		D3DTOP_ADDSIGNED, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_CURRENT,
		D3DTOP_ADDSIGNED, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_CURRENT,
		D3DTA_CURRENT,
		TEX_WIN_LOGO2, CYC_LUMINANCE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


	},


//////////////////////////////////////////////////////////////////////////
	{
		_T("D3DTOP_ADD and D3DTOP_MODULATE"),
		TRI_STRIP_DST2_HalfDiffuse,
		TRUE,

		// Render State
		D3DRS_ALPHABLENDENABLE,(DWORD)FALSE, D3DRS_SRCBLEND, D3DBLEND_SRCALPHA, D3DRS_DESTBLEND, D3DBLEND_ZERO,
		D3DRS_TEXTUREFACTOR,(DWORD)0xFFFFFFFF,

		//TSS 0
		D3DTOP_MODULATE, D3DTA_TFACTOR, D3DTA_TEXTURE, D3DTA_DIFFUSE,
		D3DTOP_MODULATE, D3DTA_TEXTURE, D3DTA_TFACTOR, D3DTA_DIFFUSE,
		D3DTA_TEMP,
		TEX_CHECKER_HIGHFREQ, CYC_LUMINANCE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 1
		D3DTOP_MODULATE, D3DTA_TFACTOR, D3DTA_TEXTURE, D3DTA_DIFFUSE,
		D3DTOP_MODULATE, D3DTA_TEXTURE, D3DTA_TFACTOR, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_DX_LOGO, CYC_PREVIOUS_STAGE_DEPENDENT,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 2
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_TEMP, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_TEMP, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 3
		D3DTOP_ADD, D3DTA_CURRENT, D3DTA_TEMP, D3DTA_DIFFUSE,
		D3DTOP_ADD, D3DTA_TEMP, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


	},



//////////////////////////////////////////////////////////////////////////
	{
		_T("D3DTOP_SUBTRACT and D3DTOP_ADD with MaxSimultaneousTextures"),
		TRI_STRIP_DST2_HalfDiffuse,
		TRUE,

		// Render State
		D3DRS_ALPHABLENDENABLE,(DWORD)FALSE, D3DRS_SRCBLEND, D3DBLEND_SRCALPHA, D3DRS_DESTBLEND, D3DBLEND_ZERO,
		D3DRS_TEXTUREFACTOR,(DWORD)0x22222222,

		//TSS 0
		D3DTOP_ADD, D3DTA_TEXTURE, D3DTA_TEXTURE, D3DTA_DIFFUSE,
		D3DTOP_ADD, D3DTA_TEXTURE, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_COLORS_BLEND, CYC_LUMINANCE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


		//TSS 1
		D3DTOP_SUBTRACT, D3DTA_CURRENT, D3DTA_TEXTURE, D3DTA_DIFFUSE,
		D3DTOP_SUBTRACT, D3DTA_CURRENT, D3DTA_TEXTURE, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_CHECKER_HIGHFREQ, CYC_PREVIOUS_STAGE_DEPENDENT,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 2
		D3DTOP_SUBTRACT, D3DTA_CURRENT, D3DTA_TEXTURE, D3DTA_DIFFUSE,
		D3DTOP_SUBTRACT, D3DTA_CURRENT, D3DTA_TEXTURE, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_CHECKER, CYC_PREVIOUS_STAGE_DEPENDENT,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 3
		D3DTOP_ADD, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTOP_ADD, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_DX_LOGO4, CYC_PREVIOUS_STAGE_DEPENDENT,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


	},




//////////////////////////////////////////////////////////////////////////



	{
		_T("D3DTOP_ADDSMOOTH"),
		TRI_STRIP_DST2T2,
		TRUE,

		// Render State
		D3DRS_ALPHABLENDENABLE,(DWORD)TRUE, D3DRS_SRCBLEND, D3DBLEND_SRCALPHA, D3DRS_DESTBLEND, D3DBLEND_ZERO,
		D3DRS_TEXTUREFACTOR,(DWORD)0xCC000000,

		//TSS 0
		D3DTOP_SELECTARG1, D3DTA_TEXTURE, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG1, D3DTA_TEXTURE, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_DX_LOGO3, CYC_ALPHA,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


		//TSS 1
		D3DTOP_ADD, D3DTA_CURRENT, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTOP_ADD, D3DTA_CURRENT, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 2
		D3DTOP_ADDSMOOTH, D3DTA_CURRENT, D3DTA_TEXTURE, D3DTA_DIFFUSE,
		D3DTOP_ADDSMOOTH, D3DTA_CURRENT, D3DTA_TEXTURE, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_DECOR, CYC_RGB,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 3
		D3DTOP_ADDSMOOTH, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_CURRENT,
		D3DTOP_ADDSMOOTH, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_CURRENT,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		1,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


	},




//////////////////////////////////////////////////////////////////////////
	{
		_T("D3DTOP_BLENDDIFFUSEALPHA"),
		TRI_STRIP_DST2_DiffuseAlphaGradient,
		TRUE,

		// Render State
		D3DRS_ALPHABLENDENABLE,(DWORD)TRUE, D3DRS_SRCBLEND, D3DBLEND_SRCALPHA, D3DRS_DESTBLEND, D3DBLEND_ZERO,
		D3DRS_TEXTUREFACTOR,(DWORD)0xCC000000,

		//TSS 0
		D3DTOP_SELECTARG1, D3DTA_TEXTURE, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG1, D3DTA_TEXTURE, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_CHECKER, CYC_LUMINANCE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


		//TSS 1
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 2
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 3
		D3DTOP_BLENDDIFFUSEALPHA, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_CURRENT,
		D3DTOP_BLENDDIFFUSEALPHA, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_CURRENT,
		D3DTA_CURRENT,
		TEX_CHECKER_HIGHFREQ, CYC_PREVIOUS_STAGE_DEPENDENT,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


	},




//////////////////////////////////////////////////////////////////////////
	{
		_T("D3DTOP_BLENDTEXTUREALPHA"),
		TRI_STRIP_DST2_HalfDiffuse,
		TRUE,

		// Render State
		D3DRS_ALPHABLENDENABLE,(DWORD)TRUE, D3DRS_SRCBLEND, D3DBLEND_SRCALPHA, D3DRS_DESTBLEND, D3DBLEND_ZERO,
		D3DRS_TEXTUREFACTOR,(DWORD)0xCC000000,

		//TSS 0
		D3DTOP_SELECTARG1, D3DTA_TEXTURE, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG1, D3DTA_TEXTURE, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_DX_LOGO, CYC_LUMINANCE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


		//TSS 1
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 2
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 3
		D3DTOP_BLENDTEXTUREALPHA, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_CURRENT,
		D3DTOP_BLENDTEXTUREALPHA, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_CURRENT,
		D3DTA_CURRENT,
		TEX_GRADIENT_FIRE_WHITE, CYC_ALPHA,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


	},


//////////////////////////////////////////////////////////////////////////
	{
		_T("D3DTOP_BLENDFACTORALPHA"),
		TRI_STRIP_DST2_HalfDiffuse,
		TRUE,

		// Render State
		D3DRS_ALPHABLENDENABLE,(DWORD)TRUE, D3DRS_SRCBLEND, D3DBLEND_SRCALPHA, D3DRS_DESTBLEND, D3DBLEND_ZERO,
		D3DRS_TEXTUREFACTOR,(DWORD)0x70000000,

		//TSS 0
		D3DTOP_SELECTARG1, D3DTA_TEXTURE, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG1, D3DTA_TEXTURE, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_CHECKER_HIGHFREQ, CYC_LUMINANCE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


		//TSS 1
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 2
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 3
		D3DTOP_BLENDFACTORALPHA, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_CURRENT,
		D3DTOP_BLENDFACTORALPHA, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_CURRENT,
		D3DTA_CURRENT,
		TEX_DX_LOGO5, CYC_PREVIOUS_STAGE_DEPENDENT,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


	},





//////////////////////////////////////////////////////////////////////////
	{
		_T("D3DTOP_BLENDTEXTUREALPHAPM"),
		TRI_STRIP_DST2,
		TRUE,

		// Render State
		D3DRS_ALPHABLENDENABLE,(DWORD)TRUE, D3DRS_SRCBLEND, D3DBLEND_SRCALPHA, D3DRS_DESTBLEND, D3DBLEND_ZERO,
		D3DRS_TEXTUREFACTOR,(DWORD)0x00000000,

		//TSS 0
		D3DTOP_SELECTARG1, D3DTA_TEXTURE, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG1, D3DTA_TEXTURE, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_DX_LOGO2, CYC_RGB,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


		//TSS 1
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 2
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 3 
		D3DTOP_BLENDTEXTUREALPHAPM, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_CURRENT,
		D3DTOP_BLENDTEXTUREALPHAPM, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_CURRENT,
		D3DTA_CURRENT,
		TEX_GRADIENT_BLACK_WHITE, CYC_ALPHA,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


	},



//////////////////////////////////////////////////////////////////////////
	{
		_T("D3DTOP_BLENDCURRENTALPHA"),
		TRI_STRIP_DST2_DiffuseAlphaGradient,
		TRUE,

		// Render State
		D3DRS_ALPHABLENDENABLE,(DWORD)TRUE, D3DRS_SRCBLEND, D3DBLEND_SRCALPHA, D3DRS_DESTBLEND, D3DBLEND_ZERO,
		D3DRS_TEXTUREFACTOR,(DWORD)0xAA000000,

		//TSS 0
		D3DTOP_SELECTARG1, D3DTA_TEXTURE, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG1, D3DTA_TEXTURE, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_GRADIENT_BLACK_WHITE, CYC_ALPHA,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


		//TSS 1
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 2
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 3
		D3DTOP_BLENDCURRENTALPHA, D3DTA_TEXTURE, D3DTA_DIFFUSE, D3DTA_CURRENT,
		D3DTOP_BLENDCURRENTALPHA, D3DTA_TEXTURE, D3DTA_DIFFUSE, D3DTA_CURRENT,
		D3DTA_CURRENT,
		TEX_GRADIENT_ALPHA, CYC_PREVIOUS_STAGE_DEPENDENT,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


	},




//////////////////////////////////////////////////////////////////////////
	{
		_T("D3DTOP_PREMODULATE"),
		TRI_STRIP_DST2T2,
		TRUE,

		// Render State
		D3DRS_ALPHABLENDENABLE,(DWORD)TRUE, D3DRS_SRCBLEND, D3DBLEND_SRCALPHA, D3DRS_DESTBLEND, D3DBLEND_ZERO,
		D3DRS_TEXTUREFACTOR,(DWORD)0xCC000000,

		//TSS 0
		D3DTOP_SELECTARG1, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_CURRENT, D3DTA_TEXTURE, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_WIN_LOGO, CYC_LUMINANCE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


		//TSS 1
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 2
		D3DTOP_PREMODULATE, D3DTA_CURRENT, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 3
		D3DTOP_MODULATE, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_CURRENT,
		D3DTOP_MODULATE, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_CURRENT,
		D3DTA_CURRENT,
		TEX_DX_LOGO2, CYC_PREVIOUS_STAGE_DEPENDENT,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


	},




//////////////////////////////////////////////////////////////////////////
	{
		_T("D3DTOP_MODULATEALPHA_ADDCOLOR COLOROP only"),
		TRI_STRIP_DST2T2,
		TRUE,

		// Render State
		D3DRS_ALPHABLENDENABLE,(DWORD)FALSE, D3DRS_SRCBLEND, D3DBLEND_ONE, D3DRS_DESTBLEND, D3DBLEND_ZERO,
		D3DRS_TEXTUREFACTOR,(DWORD)0x77000000,

		//TSS 0
		D3DTOP_MODULATE, D3DTA_TEXTURE, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_MODULATE, D3DTA_TEXTURE, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_DECOR, CYC_LUMINANCE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


		//TSS 1
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_MODULATE, D3DTA_TFACTOR, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 2
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 3
		D3DTOP_MODULATEALPHA_ADDCOLOR, D3DTA_CURRENT, D3DTA_TEXTURE, D3DTA_CURRENT,
		D3DTOP_SELECTARG1, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_CURRENT,
		D3DTA_CURRENT,
		TEX_TEXT3, CYC_PREVIOUS_STAGE_DEPENDENT,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


	},




//////////////////////////////////////////////////////////////////////////
	{
		_T("D3DTOP_MODULATECOLOR_ADDALPHA COLOROP only"),
		TRI_STRIP_DST2T2,
		TRUE,

		// Render State
		D3DRS_ALPHABLENDENABLE,(DWORD)FALSE, D3DRS_SRCBLEND, D3DBLEND_ONE, D3DRS_DESTBLEND, D3DBLEND_ZERO,
		D3DRS_TEXTUREFACTOR,(DWORD)0x88000000,

		//TSS 0
		D3DTOP_SELECTARG1, D3DTA_TEXTURE, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG1, D3DTA_TEXTURE, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_GRADIENT_BLACK_WHITE, CYC_LUMINANCE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


		//TSS 1
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 2
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_MODULATE, D3DTA_TFACTOR, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 3 
		D3DTOP_MODULATECOLOR_ADDALPHA, D3DTA_CURRENT, D3DTA_TEXTURE, D3DTA_CURRENT,
		D3DTOP_SELECTARG1, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_CURRENT,
		D3DTA_CURRENT,
		TEX_WIN_LOGO2, CYC_PREVIOUS_STAGE_DEPENDENT,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


	},





//////////////////////////////////////////////////////////////////////////
	{
		_T("D3DTOP_MODULATEINVALPHA_ADDCOLOR COLOROP only"),
		TRI_STRIP_DST2T2,
		TRUE,

		// Render State
		D3DRS_ALPHABLENDENABLE,(DWORD)FALSE, D3DRS_SRCBLEND, D3DBLEND_ONE, D3DRS_DESTBLEND, D3DBLEND_ZERO,
		D3DRS_TEXTUREFACTOR,(DWORD)0x88000000,

		//TSS 0
		D3DTOP_SELECTARG1, D3DTA_TEXTURE, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_TEXTURE, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_DX_LOGO3, CYC_LUMINANCE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


		//TSS 1
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 2
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_MODULATE, D3DTA_TFACTOR, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 3
		D3DTOP_MODULATEINVALPHA_ADDCOLOR, D3DTA_CURRENT, D3DTA_TEXTURE, D3DTA_CURRENT,
		D3DTOP_SELECTARG1, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_CURRENT,
		D3DTA_CURRENT,
		TEX_COLORS_BLEND, CYC_PREVIOUS_STAGE_DEPENDENT,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


	},




//////////////////////////////////////////////////////////////////////////
	{
		_T("D3DTOP_MODULATEINVCOLOR_ADDALPHA COLOROP only"),
		TRI_STRIP_DST2T2,
		TRUE,

		// Render State
		D3DRS_ALPHABLENDENABLE,(DWORD)FALSE, D3DRS_SRCBLEND, D3DBLEND_ONE, D3DRS_DESTBLEND, D3DBLEND_ZERO,
		D3DRS_TEXTUREFACTOR,(DWORD)0x22000000,

		//TSS 0
		D3DTOP_SELECTARG1, D3DTA_TEXTURE, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_TEXTURE, D3DTA_SPECULAR, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_WIN_LOGO, CYC_LUMINANCE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


		//TSS 1
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 2
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 3
		D3DTOP_MODULATEINVCOLOR_ADDALPHA, D3DTA_CURRENT, D3DTA_TEXTURE, D3DTA_CURRENT,
		D3DTOP_SELECTARG1, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_CURRENT,
		D3DTA_CURRENT,
		TEX_COLORS_BLEND, CYC_PREVIOUS_STAGE_DEPENDENT,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


	},


//////////////////////////////////////////////////////////////////////////
		{ 
		_T("D3DTOP_BUMPENVMAP "),
		TRI_STRIP_DST2T2,
		TRUE,

		// Render State
		D3DRS_ALPHABLENDENABLE,(DWORD)TRUE, D3DRS_SRCBLEND, D3DBLEND_ONE, D3DRS_DESTBLEND, D3DBLEND_ZERO,
		D3DRS_TEXTUREFACTOR,(DWORD)0x88888888,

		//TSS 0
		D3DTOP_SELECTARG2, D3DTA_TFACTOR, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG1, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_POINT,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_POINT,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


		//TSS 1
		D3DTOP_MODULATE, D3DTA_CURRENT, D3DTA_TFACTOR, D3DTA_DIFFUSE,
		D3DTOP_MODULATE, D3DTA_TFACTOR, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 2
		D3DTOP_BUMPENVMAP, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTOP_BUMPENVMAP, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_CHECKER, CYC_BUMPDUDV,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_BUMPENVMAT00, (DWORD)001,  //0.01f
		D3DTSS_BUMPENVMAT11, (DWORD)001,  //0.01f
		D3DTSS_BUMPENVMAT01, (DWORD)0,
		D3DTSS_BUMPENVMAT10, (DWORD)0,
		D3DTSS_BUMPENVLSCALE,100,  //1.0f
		D3DTSS_BUMPENVLOFFSET,20,  //0.2f
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 3
		D3DTOP_ADD, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_CURRENT,
		D3DTOP_ADD, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_CURRENT,
		D3DTA_CURRENT,
		TEX_WIN_LOGO, CYC_LUMINANCE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_BUMPENVMAT00, (DWORD)100,
		D3DTSS_BUMPENVMAT11, (DWORD)100,
		D3DTSS_BUMPENVMAT01, (DWORD)0,
		D3DTSS_BUMPENVMAT10, (DWORD)0,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


	},


//////////////////////////////////////////////////////////////////////////
	{
		_T("D3DTOP_BUMPENVMAPLUMINANCE"),
		TRI_STRIP_DST2T2,
		TRUE,

		// Render State
		D3DRS_ALPHABLENDENABLE,(DWORD)FALSE, D3DRS_SRCBLEND, D3DBLEND_SRCALPHA, D3DRS_DESTBLEND, D3DBLEND_ZERO,
		D3DRS_TEXTUREFACTOR,(DWORD)0xCCAAAAAA,

		//TSS 0
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 1
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 3
		D3DTOP_BUMPENVMAPLUMINANCE, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTOP_BUMPENVMAPLUMINANCE, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_DX_LOGOBUMP2, CYC_BUMPLUMINANCE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_POINT,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_POINT,
		D3DTSS_BUMPENVMAT00, (DWORD)100,
		D3DTSS_BUMPENVMAT11, (DWORD)100,  //1.0f
		D3DTSS_BUMPENVMAT01, (DWORD)0,
		D3DTSS_BUMPENVMAT10, (DWORD)0,
		D3DTSS_BUMPENVLSCALE,100,  //1.0f
		D3DTSS_BUMPENVLOFFSET,75,  //0.2f
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 4
		D3DTOP_MODULATE, D3DTA_TEXTURE, D3DTA_TFACTOR, D3DTA_CURRENT,
		D3DTOP_SELECTARG1, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_CURRENT,
		D3DTA_CURRENT,
		TEX_CHECKER_HIGHFREQ, CYC_LUMINANCE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_BUMPENVMAT00, (DWORD)10,
		D3DTSS_BUMPENVMAT11, (DWORD)10,
		D3DTSS_BUMPENVMAT01, (DWORD)0,
		D3DTSS_BUMPENVMAT10, (DWORD)0,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


	},


//////////////////////////////////////////////////////////////////////////
	{
		_T("D3DTOP_DOTPRODUCT3 colorop only"),
		TRI_STRIP_DST2T2,
		TRUE,

		// Render State
		D3DRS_ALPHABLENDENABLE,(DWORD)FALSE, D3DRS_SRCBLEND, D3DBLEND_ONE, D3DRS_DESTBLEND, D3DBLEND_ZERO,
		D3DRS_TEXTUREFACTOR,(DWORD)0xCC000000,

		//TSS 0
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_POINT,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_POINT,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


		//TSS 1
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 2
		D3DTOP_DOTPRODUCT3, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_CURRENT,
		D3DTOP_SELECTARG1, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_CURRENT,
		D3DTA_CURRENT,
		TEX_DECOR2, CYC_LUMINANCE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 3
		D3DTOP_MODULATE2X, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


	},






//////////////////////////////////////////////////////////////////////////
	{
		_T("D3DTOP_MULTIPLYADD Triadic op color & D3DTOP_DOTPRODUCT3 alpha"),
		TRI_STRIP_DST2T2,
		TRUE,

		// Render State
		D3DRS_ALPHABLENDENABLE,(DWORD)TRUE, D3DRS_SRCBLEND, D3DBLEND_SRCALPHA, D3DRS_DESTBLEND, D3DBLEND_ZERO, 
		D3DRS_TEXTUREFACTOR,(DWORD)0x33333333,

		//TSS 0
		D3DTOP_DOTPRODUCT3, D3DTA_TEXTURE, D3DTA_TFACTOR, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_TEXTURE, D3DTA_TFACTOR, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_WIN_LOGO, CYC_ALPHA,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_POINT,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_POINT,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


		//TSS 1
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 2
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 3
		D3DTOP_MULTIPLYADD, D3DTA_TEXTURE, D3DTA_TEXTURE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_DECOR, CYC_LUMINANCE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


	},






//////////////////////////////////////////////////////////////////////////
	{
		_T("D3DTOP_LERP Triadic op"),
		TRI_STRIP_DST2T2,
		TRUE,

		// Render State
		D3DRS_ALPHABLENDENABLE,(DWORD)TRUE, D3DRS_SRCBLEND, D3DBLEND_SRCALPHA, D3DRS_DESTBLEND, D3DBLEND_ZERO,
		D3DRS_TEXTUREFACTOR,(DWORD)0xCC000000,

		//TSS 0
		D3DTOP_SELECTARG1, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG1, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_CHECKER_HIGHFREQ, CYC_LUMINANCE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_POINT,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_POINT,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


		//TSS 1
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 2
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 3
		D3DTOP_LERP, D3DTA_CURRENT, D3DTA_TEXTURE, D3DTA_SPECULAR,
		D3DTOP_LERP, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_SPECULAR,
		D3DTA_CURRENT,
		TEX_DX_LOGO2, CYC_PREVIOUS_STAGE_DEPENDENT,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


	},




//////////////////////////////////////////////////////////////////////////
	{
		_T("Per-stage constant D3DTA_CONSTANT"),
		TRI_STRIP_DST2_ZeroDiffuse,
		TRUE,

		// Render State
		D3DRS_ALPHABLENDENABLE,(DWORD)TRUE, D3DRS_SRCBLEND, D3DBLEND_SRCALPHA, D3DRS_DESTBLEND, D3DBLEND_ZERO,
		D3DRS_TEXTUREFACTOR,(DWORD)0x00000000,

		//TSS 0
		D3DTOP_ADD, D3DTA_CURRENT, D3DTA_CONSTANT, D3DTA_DIFFUSE,
		D3DTOP_ADD, D3DTA_CURRENT, D3DTA_CONSTANT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_POINT,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_POINT,
		D3DTSS_CONSTANT, (DWORD)D3DRGBA(0.333f,0,0,0.25f), 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


		//TSS 1
		D3DTOP_ADD, D3DTA_CURRENT, D3DTA_CONSTANT, D3DTA_DIFFUSE,
		D3DTOP_ADD, D3DTA_CURRENT, D3DTA_CONSTANT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_CONSTANT, (DWORD)D3DRGBA(0.667f,0,0,0.25f), 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 2
		D3DTOP_ADD, D3DTA_CURRENT, D3DTA_CONSTANT, D3DTA_DIFFUSE,
		D3DTOP_ADD, D3DTA_CURRENT, D3DTA_CONSTANT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_CONSTANT, (DWORD)D3DRGBA(0,0,0.333f,0.25f), 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 3
		D3DTOP_ADD, D3DTA_CURRENT, D3DTA_CONSTANT, D3DTA_DIFFUSE,
		D3DTOP_ADD, D3DTA_CURRENT, D3DTA_CONSTANT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_CONSTANT, (DWORD)D3DRGBA(0,0,0.667f,0.25f), 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 



	},


//////////////////////////////////////////////////////////////////////////
	{
		_T("MaxSimultaneousTextures test"),
		TRI_STRIP_DST2_ZeroDiffuse,
		TRUE,

		// Render State
		D3DRS_ALPHABLENDENABLE,(DWORD)TRUE, D3DRS_SRCBLEND, D3DBLEND_SRCALPHA, D3DRS_DESTBLEND, D3DBLEND_ZERO,
		D3DRS_TEXTUREFACTOR,(DWORD)0xCC000000,

		//TSS 0
		D3DTOP_SELECTARG1, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG1, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_STAGE3, CYC_LUMINANCE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


		//TSS 1
		D3DTOP_ADD, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTOP_ADD, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_STAGE2, CYC_PREVIOUS_STAGE_DEPENDENT,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 2
		D3DTOP_ADD, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTOP_ADD, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_STAGE1, CYC_PREVIOUS_STAGE_DEPENDENT,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 3
		D3DTOP_ADD, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTOP_ADD, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_STAGE0, CYC_PREVIOUS_STAGE_DEPENDENT,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


	},


//////////////////////////////////////////////////////////////////////////
	{
		_T("MipMap texture test"),
		TRI_STRIP_DST2T3T3_forMipMap,
		TRUE,

		// Render State
		D3DRS_ALPHABLENDENABLE,(DWORD)TRUE, D3DRS_SRCBLEND, D3DBLEND_SRCALPHA, D3DRS_DESTBLEND, D3DBLEND_ZERO,
		D3DRS_TEXTUREFACTOR,(DWORD)0x88000000,

		//TSS 0
		D3DTOP_SELECTARG1, D3DTA_TEXTURE, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_00FFFFFF, CYC_LUMINANCE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


		//TSS 1
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 2
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 3
		D3DTOP_MODULATE, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG1, D3DTA_TEXTURE, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_MIPS, CYC_PREVIOUS_STAGE_DEPENDENT,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MIPFILTER, (DWORD)D3DTEXF_POINT, 
		D3DTSS_MIPMAPLODBIAS , 254, //this should take us to the centre of 6 mips.
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


	},








//////////////////////////////////////////////////////////////////////////
	{
		_T("Cube Map texture test"),
		TRI_STRIP_DST2T3T3_forVolCube,
		TRUE,

		// Render State
		D3DRS_ALPHABLENDENABLE,(DWORD)TRUE, D3DRS_SRCBLEND, D3DBLEND_SRCALPHA, D3DRS_DESTBLEND, D3DBLEND_ZERO,
		D3DRS_TEXTUREFACTOR,(DWORD)0x88000000,

		//TSS 0
		D3DTOP_SELECTARG1, D3DTA_TEXTURE, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_00FFFFFF, CYC_ALPHA,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


		//TSS 1
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 2
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 3
		D3DTOP_MODULATE, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG1, D3DTA_TEXTURE, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_CUBE, CYC_CUBE,
		2,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MIPFILTER, (DWORD)D3DTEXF_POINT, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


	},






//////////////////////////////////////////////////////////////////////////
	{
		_T("Volume Map texture test"),
		TRI_STRIP_DST2T3T3_forVolCube,
		TRUE,

		// Render State
		D3DRS_ALPHABLENDENABLE,(DWORD)TRUE, D3DRS_SRCBLEND, D3DBLEND_SRCALPHA, D3DRS_DESTBLEND, D3DBLEND_ZERO,
		D3DRS_TEXTUREFACTOR,(DWORD)0x88000000,

		//TSS 0
		D3DTOP_SELECTARG1, D3DTA_TEXTURE, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_00FFFFFF, CYC_ALPHA,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


		//TSS 1
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 2
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 3
		D3DTOP_MODULATE, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG1, D3DTA_TEXTURE, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_VOLUME, CYC_VOLUME,
		1,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MIPFILTER, (DWORD)D3DTEXF_POINT, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


	},





//////////////////////////////////////////////////////////////////////////
	{
		_T("MipMap + CubeMap + VolumeMap texture test"),
		TRI_STRIP_DST2T3T3_forMipMap,
		TRUE,

		// Render State
		D3DRS_ALPHABLENDENABLE,(DWORD)TRUE, D3DRS_SRCBLEND, D3DBLEND_SRCALPHA, D3DRS_DESTBLEND, D3DBLEND_ZERO,
		D3DRS_TEXTUREFACTOR,(DWORD)0xFF555555,


		//TSS 0
		D3DTOP_MODULATE, D3DTA_TEXTURE, D3DTA_TFACTOR, D3DTA_DIFFUSE,
		D3DTOP_MODULATE, D3DTA_TEXTURE, D3DTA_TFACTOR, D3DTA_DIFFUSE,
		D3DTA_TEMP,
		TEX_MIPS, CYC_ALPHA,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MIPFILTER, (DWORD)D3DTEXF_POINT, 
		D3DTSS_MIPMAPLODBIAS , 254, //this should take us to the centre of 6 mips.
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


		//TSS 1
		D3DTOP_MODULATE, D3DTA_TEXTURE, D3DTA_TFACTOR, D3DTA_DIFFUSE,
		D3DTOP_MODULATE, D3DTA_TEXTURE, D3DTA_TFACTOR, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_CUBE, CYC_CUBE_RGB,
		2,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 2
		D3DTOP_MODULATE, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTOP_MODULATE, D3DTA_TEXTURE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_VOLUME, CYC_VOLUME_RGB,
		1,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 3
		D3DTOP_ADD, D3DTA_CURRENT, D3DTA_TEMP, D3DTA_DIFFUSE,
		D3DTOP_ADD, D3DTA_CURRENT, D3DTA_TEMP, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 




	},




/////////////////////////////////////////////////////////////////////////////////
	{
		_T("Arg modifier D3DTA_COMPLEMENT on texture and current."),
		TRI_LIST_DST2,
		TRUE,

		// Render State
		D3DRS_ALPHABLENDENABLE,(DWORD)TRUE, D3DRS_SRCBLEND, D3DBLEND_SRCALPHA, D3DRS_DESTBLEND, D3DBLEND_ZERO,
		D3DRS_TEXTUREFACTOR,(DWORD)0x08000000,

		//TSS 0
		D3DTOP_SELECTARG1, D3DTA_CURRENT|D3DTA_COMPLEMENT, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_CURRENT, D3DTA_TFACTOR, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 1
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 2
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 3
		D3DTOP_MODULATE, D3DTA_TEXTURE|D3DTA_COMPLEMENT, D3DTA_CURRENT, D3DTA_CURRENT,
		D3DTOP_SELECTARG1, D3DTA_CURRENT|D3DTA_COMPLEMENT, D3DTA_TEXTURE, D3DTA_CURRENT,
		D3DTA_CURRENT,
		TEX_DX_LOGO3, CYC_LUMINANCE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


	},


/////////////////////////////////////////////////////////////////////////////////
	{
		_T("Arg modifier D3DTA_ALPHAREPLICATE."),
		TRI_STRIP_DST2_DiffuseAlphaGradient,
		TRUE,

		// Render State
		D3DRS_ALPHABLENDENABLE,(DWORD)TRUE, D3DRS_SRCBLEND, D3DBLEND_SRCALPHA, D3DRS_DESTBLEND, D3DBLEND_ZERO,
		D3DRS_TEXTUREFACTOR,(DWORD)0xFF000000,

		//TSS 0
		D3DTOP_DOTPRODUCT3, D3DTA_TEXTURE, D3DTA_TEXTURE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG1, D3DTA_TEXTURE, D3DTA_TFACTOR, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_DX_LOGO3, CYC_LUMINANCE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 1
		D3DTOP_MODULATE, D3DTA_CURRENT, D3DTA_TFACTOR, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_TFACTOR, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 2
		D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTA_DIFFUSE, D3DTA_DIFFUSE,
		D3DTOP_SELECTARG2, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_DIFFUSE,
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 

		//TSS 3
		D3DTOP_SELECTARG1, D3DTA_CURRENT|D3DTA_ALPHAREPLICATE , D3DTA_CURRENT, D3DTA_CURRENT,
		D3DTOP_SELECTARG1, D3DTA_TFACTOR|D3DTA_ALPHAREPLICATE , D3DTA_CURRENT, D3DTA_CURRENT,
		//note: D3DTA_ALPHAREPLICATE in alpha arg should not affect output.
		D3DTA_CURRENT,
		TEX_NULL, CYC_DONT_CARE,
		0,
		D3DTSS_MAGFILTER, (DWORD)D3DTEXF_LINEAR,
		D3DTSS_MINFILTER, (DWORD)D3DTEXF_LINEAR,
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 
		(enum _D3DTEXTURESTAGESTATETYPE)0,0, 


	},




//////////////////////////////////////////////////////////////////////////


};


const UINT NUM_FOUR_STAGES_TEST_CASES( sizeof( g_TestCasesFourStages ) / sizeof( TSStestCaseFourStage ) );
