Irrlicht 3D Engine
Loading...
Searching...
No Matches
IMaterialRenderer.h
Go to the documentation of this file.
1// Copyright (C) 2002-2012 Nikolaus Gebhardt
2// This file is part of the "Irrlicht Engine".
3// For conditions of distribution and use, see copyright notice in irrlicht.h
4
5#ifndef __I_MATERIAL_RENDERER_H_INCLUDED__
6#define __I_MATERIAL_RENDERER_H_INCLUDED__
7
8#include "IReferenceCounted.h"
9#include "SMaterial.h"
10#include "S3DVertex.h"
11
12namespace irr
13{
14namespace video
15{
16
17class IVideoDriver;
19
21
25{
26public:
27
29
50 virtual void OnSetMaterial(const SMaterial& material, const SMaterial& lastMaterial,
51 bool resetAllRenderstates, IMaterialRendererServices* services) {}
52
54
71 virtual bool OnRender(IMaterialRendererServices* service, E_VERTEX_TYPE vtxtype) { return true; }
72
74
76 virtual void OnUnsetMaterial() {}
77
79
81 virtual bool isTransparent() const { return false; }
82
84
93 virtual s32 getRenderCapability() const { return 0; }
94};
95
96
97} // end namespace video
98} // end namespace irr
99
100#endif
101
IReferenceCounted()
Constructor.
Interface for material rendering.
virtual s32 getRenderCapability() const
Returns the render capability of the material.
virtual void OnUnsetMaterial()
Called by the IVideoDriver to unset this material.
virtual bool OnRender(IMaterialRendererServices *service, E_VERTEX_TYPE vtxtype)
Called every time before a new bunch of geometry is being drawn using this material with for example ...
virtual bool isTransparent() const
Returns if the material is transparent.
virtual void OnSetMaterial(const SMaterial &material, const SMaterial &lastMaterial, bool resetAllRenderstates, IMaterialRendererServices *services)
Called by the IVideoDriver implementation the let the renderer set its needed render states.
Interface providing some methods for changing advanced, internal states of a IVideoDriver.
Interface to driver which is able to perform 2d and 3d graphics functions.
Struct for holding parameters for a material renderer.
Definition SMaterial.h:227
The video namespace contains classes for accessing the video driver. All 2d and 3d rendering is done ...
E_VERTEX_TYPE
Enumeration for all vertex types there are.
Definition S3DVertex.h:19
Everything in the Irrlicht Engine can be found in this namespace.
Definition aabbox3d.h:13
signed int s32
32 bit signed variable.
Definition irrTypes.h:66