1 // Copyright (C) 2002-2012 Nikolaus Gebhardt
\r
2 // This file is part of the "Irrlicht Engine".
\r
3 // For conditions of distribution and use, see copyright notice in irrlicht.h
\r
5 #ifndef __C_SOFTWARE2_MATERIAL_RENDERER_H_INCLUDED__
\r
6 #define __C_SOFTWARE2_MATERIAL_RENDERER_H_INCLUDED__
\r
8 #include "SoftwareDriver2_compile_config.h"
\r
10 #include "IMaterialRenderer.h"
\r
11 #include "CSoftwareDriver2.h"
\r
18 //! Base class for all internal Software2 material renderers
\r
19 class CSoftware2MaterialRenderer : public IMaterialRenderer
\r
24 CSoftware2MaterialRenderer(video::CBurningVideoDriver* driver)
\r
31 video::CBurningVideoDriver* Driver;
\r
34 //! solid material renderer
\r
35 class CSoftware2MaterialRenderer_SOLID : public CSoftware2MaterialRenderer
\r
38 CSoftware2MaterialRenderer_SOLID ( video::CBurningVideoDriver* driver )
\r
39 :CSoftware2MaterialRenderer ( driver ) {}
\r
41 //! Returns if the material is transparent.
\r
42 virtual bool isTransparent() const _IRR_OVERRIDE_
\r
51 //! Transparent material renderer
\r
52 class CSoftware2MaterialRenderer_TRANSPARENT_ADD_COLOR : public CSoftware2MaterialRenderer
\r
55 CSoftware2MaterialRenderer_TRANSPARENT_ADD_COLOR ( video::CBurningVideoDriver* driver )
\r
56 : CSoftware2MaterialRenderer ( driver ) {}
\r
59 //! Returns if the material is transparent.
\r
60 virtual bool isTransparent() const _IRR_OVERRIDE_
\r
67 //! unsupported material renderer
\r
68 class CSoftware2MaterialRenderer_UNSUPPORTED : public CSoftware2MaterialRenderer
\r
71 CSoftware2MaterialRenderer_UNSUPPORTED ( video::CBurningVideoDriver* driver )
\r
72 : CSoftware2MaterialRenderer ( driver ) {}
\r
74 virtual s32 getRenderCapability() const _IRR_OVERRIDE_ { return 1; }
\r
78 //! unsupported material renderer
\r
79 class CBurningShader_REFERENCE : public CSoftware2MaterialRenderer
\r
82 CBurningShader_REFERENCE ( video::CBurningVideoDriver* driver )
\r
83 : CSoftware2MaterialRenderer ( driver ) {}
\r
85 virtual void OnSetMaterial(const SMaterial& material, const SMaterial& lastMaterial,
\r
86 bool resetAllRenderstates, IMaterialRendererServices* services) _IRR_OVERRIDE_
\r
90 virtual void OnUnsetMaterial() _IRR_OVERRIDE_
\r
94 virtual bool isTransparent() const _IRR_OVERRIDE_
\r
99 virtual bool OnRender(IMaterialRendererServices* service, E_VERTEX_TYPE vtxtype) _IRR_OVERRIDE_
\r
105 virtual s32 getRenderCapability() const _IRR_OVERRIDE_
\r
114 } // end namespace video
\r
115 } // end namespace irr
\r