/* -----------------------------------------------------------------------------
	GSFramework
	Copyright 2001-2013 Emmanuel Julien. All Rights Reserved.
----------------------------------------------------------------------------- */


#ifndef	__NMATERIALTOSHADERTREE__
#define	__NMATERIALTOSHADERTREE__


		#include "core/material.h"


namespace GS {
	namespace Core {
		class ShaderTree;
		struct ShaderBlock;

		namespace MaterialToShaderTree {

/// Convert a material texture stage to a shader tree block.
ShaderBlock	*MaterialTextureStageToShaderBlock(const Material &m, const Material::TextureStage *ts, ShaderBlock *nb = 0);
/// Convert a material fixed-function definition to a shader tree.
bool		Convert(const Material &, ShaderTree &);

		} // MaterialToShaderTree
	} // Core
} // GS


#endif	// __NMATERIALTOSHADERTREE__
