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

IMaterialRenderer.h

Go to the documentation of this file.
00001 // Copyright (C) 2002-2008 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_H_INCLUDED__
00006 #define __I_MATERIAL_RENDERER_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 class IMaterialRendererServices;
00019 
00021 
00024 class IMaterialRenderer : public virtual IReferenceCounted
00025 {
00026 public:
00027 
00029         virtual ~IMaterialRenderer() {}
00030 
00032 
00053         virtual void OnSetMaterial(const SMaterial& material, const SMaterial& lastMaterial,
00054                 bool resetAllRenderstates, IMaterialRendererServices* services) {}
00055 
00057 
00074         virtual bool OnRender(IMaterialRendererServices* service, E_VERTEX_TYPE vtxtype) { return true; }
00075 
00077 
00079         virtual void OnUnsetMaterial() {}
00080 
00082 
00084         virtual bool isTransparent() const { return false; }
00085 
00087 
00096         virtual s32 getRenderCapability() const { return 0; }
00097 };
00098 
00099 
00100 } // end namespace video
00101 } // end namespace irr
00102 
00103 #endif
00104 

The Irrlicht Engine
The Irrlicht Engine Documentation © 2003-2008 by Nikolaus Gebhardt. Generated on Sun Sep 21 08:57:41 2008 by Doxygen (1.4.2)