
extern "C" 
{

//------------------------------------------------------------------------------------
// irr::video::IMaterialRendererServices wrappers
//------------------------------------------------------------------------------------

	// do not delete
	IVideoDriver* IrrVideo_IMaterialRendererServices_getVideoDriver(IMaterialRendererServices* srv)
	{
		if (srv)
			return srv->getVideoDriver();
		else return 0;
	}
	 
	void IrrVideo_IMaterialRendererServices_setBasicRenderStates(IMaterialRendererServices* srv,SMaterial* material,SMaterial* lastMaterial,bool resetAllRenderstates)
	{
		if (srv)
			srv->setBasicRenderStates(*material,*lastMaterial,resetAllRenderstates);
	}
	
	void IrrVideo_IMaterialRendererServices_setPixelShaderConstant(IMaterialRendererServices* srv,f32* data,s32 startRegister,s32 constantAmount=1)
	{
		if (srv)
			srv->setPixelShaderConstant(data,startRegister,constantAmount);
	}
	
	bool IrrVideo_IMaterialRendererServices_setPixelShaderConstantFromName(IMaterialRendererServices* srv,const c8 *name,f32* floats,s32 count)
	{
		if (srv)
			return srv->setPixelShaderConstant(name,floats,count);
		else return false;
	} 
	
	void IrrVideo_IMaterialRendererServices_setVertexShaderConstant(IMaterialRendererServices* srv,f32* data,s32 startRegister, s32 constantAmount=1)
	{
		if (srv)
			srv->setVertexShaderConstant(data,startRegister,constantAmount);
	} 
	
	bool IrrVideo_IMaterialRendererServices_setVertexShaderConstantFromName(IMaterialRendererServices* srv,const c8 *name,f32* floats,s32 count)
	{
		if (srv)
			return srv->setVertexShaderConstant(name,floats,count);
		else return false;
	} 

//------------------------------------------------------------------------------------
//------------------------------------------------------------------------------------
}
