//
// ProjectedTexture_VD.h
//
// Created by Catalin Arsenescu - 26 August 2007
//
// Copyright (C) 2006 Rebellion, All Rights Reserved.
//

#ifdef ASURA_USE_PRAGMA_ONCE
#pragma once
#endif

#ifndef __ASURA_PS3_PROJECTEDTEXTURE_VD_H__
#define __ASURA_PS3_PROJECTEDTEXTURE_VD_H__

static Asura_PS3_VertexBufferDeclaration g_axVertexDeclaration[] =
{
	//	m_szName, m_uOffset, m_uType, m_uNumberOfCoords, m_ucAttributeIndex
	{ "xIn.m_xPosition",	0,	CELL_GCM_VERTEX_F,	3, 0 },
};

enum VERTEX_DECLARATION
{
	VD_Position,

	VD_ELEMENTS
};

enum UNIFORM_ELEMENTS
{
	UE_TwoOverScreen,
	UE_CameraTanHalfFOV,
	UE_DepthAdjustment,
	UE_NearPlane,
	UE_Falloff,
	UE_DistanceFade,

	UE_ProjectionMatrix,
	UE_InvViewMatrix,
	UE_DetailTextureScaleAndOffset,
	UE_ProjectorPosition,
	UE_LightColour,
	UE_ProjectionDirection,
	UE_NeutralColour,

	UE_ELEMENTS
};

enum TEXTURE_UNITS
{
	TU_NormalMaterialBufferSampler,
	TU_AlbedoSpecularBufferSampler,
	TU_DepthBufferSampler,
	TU_ProjectedTextureSampler,
	TU_DetailTextureSampler,
	TU_MaterialsTexture,

	TU_ELEMENTS
};

#endif //#ifndef __ASURA_PS3_PROJECTEDTEXTURE_VD_H__
