| Irrlicht 3D Engine |

IMaterialRenderer.h
Go to the documentation of this file.

    00001 // Copyright (C) 2002-2012 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
    00050     virtual void OnSetMaterial(const SMaterial& material, const SMaterial& lastMaterial,
    00051         bool resetAllRenderstates, IMaterialRendererServices* services) {}
    00052
    00054
    00071     virtual bool OnRender(IMaterialRendererServices* service, E_VERTEX_TYPE vtxtype) { return true; }
    00072
    00074
    00076     virtual void OnUnsetMaterial() {}
    00077
    00079
    00081     virtual bool isTransparent() const { return false; }
    00082
    00084
    00093     virtual s32 getRenderCapability() const { return 0; }
    00094 };
    00095
    00096
    00097 } // end namespace video
    00098 } // end namespace irr
    00099
    00100 #endif
    00101