//
// Asura_Chunk_ResourceFile_PC_Environment_SM3.h
//
// Created by RJF - 09 August 2006
//
// Copyright (C) 2006 Rebellion, All Rights Reserved.
//

#ifdef ASURA_USE_PRAGMA_ONCE
#pragma once
#endif

#ifndef __ASURA_CHUNK_RESOURCEFILE_PC_ENVIRONMENT_SM3_H__
#define __ASURA_CHUNK_RESOURCEFILE_PC_ENVIRONMENT_SM3_H__

#include "ChunkSystem/Asura_Chunk_ResourceFile.h"
#include "Core/Asura_Handle.h"

// Version history
// 0 (RJF - 09.08.2006) Original version
// 1 (RAR - 03.07.2007) Support for two material responses per strip
// 2 (DLH - 20.07.2007) Reduced number of vertex & index buffers
// 3 (AAM - 12.09.2007) Added strip bounding boxes
// 4 (AAM - 07.03.2008) Added pixel shader per strip
// 5 (AS  - 29.05.2008) Added second tangent and removed binormal
// 6 (AAM - 08.05.2009) Removed pixel shader hash per strip - now generated on the fly
#define ASURA_CHUNK_RESOURCEFILE_PC_ENVIRONMENT_SM3_VERSION 6

class Asura_Chunk_ResourceFile_PC_Environment_SM3 : public Asura_Chunk_ResourceFile
{
public:

	// M E T H O D S /////////////////////////////////////////////////////

	bool Process( Asura_Handle hFile );
	bool Process( Asura_Handle hFile, bool bConvertMaterialIDs);

	enum ChunkFlags
	{
		ChunkFlag_MaterialResponse = 0x00000001, //contains material response IDs
		ChunkFlag_UseTriLists = 0x2, // using tri-lists rather than tri-strips
	};

};

#endif//__ASURA_CHUNK_RESOURCEFILE_PC_ENVIRONMENT_SM3_H__