Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members | Tutorials

IMaterialRendererServices.h

Go to the documentation of this file.
00001 // Copyright (C) 2002-2009 Nikolaus Gebhardt
00002 // This file is part of the "Irrlicht Engine".
00003 // For conditions of distribution and use, see copyright notice in irrlicht.h
00004 
00005 #ifndef __I_MATERIAL_RENDERER_SERVICES_H_INCLUDED__
00006 #define __I_MATERIAL_RENDERER_SERVICES_H_INCLUDED__
00007 
00008 #include "IReferenceCounted.h"
00009 #include "SMaterial.h"
00010 #include "S3DVertex.h"
00011 
00012 namespace irr
00013 {
00014 namespace video
00015 {
00016 
00017 class IVideoDriver;
00018 
00019 
00021 class IMaterialRendererServices
00022 {
00023 public:
00024 
00026         virtual ~IMaterialRendererServices() {}
00027 
00029 
00038         virtual void setBasicRenderStates(const SMaterial& material,
00039                 const SMaterial& lastMaterial,
00040                 bool resetAllRenderstates) = 0;
00041 
00043 
00067         virtual bool setVertexShaderConstant(const c8* name, const f32* floats, int count) = 0;
00068 
00070 
00075         virtual void setVertexShaderConstant(const f32* data, s32 startRegister, s32 constantAmount=1) = 0;
00076 
00078 
00085         virtual bool setPixelShaderConstant(const c8* name, const f32* floats, int count) = 0;
00086 
00088 
00093         virtual void setPixelShaderConstant(const f32* data, s32 startRegister, s32 constantAmount=1) = 0;
00094 
00096 
00097         virtual IVideoDriver* getVideoDriver() = 0;
00098 };
00099 
00100 } // end namespace video
00101 } // end namespace irr
00102 
00103 #endif
00104 

The Irrlicht Engine
The Irrlicht Engine Documentation © 2003-2009 by Nikolaus Gebhardt. Generated on Sun Jan 10 09:24:03 2010 by Doxygen (1.5.6)