5#ifndef NIRT_I_MATERIAL_RENDERER_HPP_INCLUDED
6#define NIRT_I_MATERIAL_RENDERER_HPP_INCLUDED
8#include <nirtcpp/core/engine/IReferenceCounted.hpp>
9#include <nirtcpp/core/engine/SMaterial.hpp>
10#include <nirtcpp/core/engine/S3DVertex.hpp>
18class IMaterialRendererServices;
19class IShaderConstantSetCallBack;
Base class of most objects of the Nirtcpp Engine.
Definition IReferenceCounted.hpp:46
Interface providing some methods for changing advanced, internal states of a IVideoDriver.
Definition IMaterialRendererServices.hpp:21
Interface for material rendering.
Definition IMaterialRenderer.hpp:26
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 ...
Definition IMaterialRenderer.hpp:72
virtual IShaderConstantSetCallBack * getShaderConstantSetCallBack() const
Access the callback provided by the users when creating shader materials.
Definition IMaterialRenderer.hpp:99
virtual s32 getRenderCapability() const
Returns the render capability of the material.
Definition IMaterialRenderer.hpp:94
virtual bool isTransparent() const
Returns if the material is transparent.
Definition IMaterialRenderer.hpp:82
virtual void OnUnsetMaterial()
Called by the IVideoDriver to unset this material.
Definition IMaterialRenderer.hpp:77
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.
Definition IMaterialRenderer.hpp:51
Interface making it possible to set constants for gpu programs every frame.
Definition IShaderConstantSetCallBack.hpp:22
Class for holding parameters for a material renderer.
Definition SMaterial.hpp:304
E_VERTEX_TYPE
Enumeration for all vertex types there are.
Definition S3DVertex.hpp:19
As of Nirtcpp 1.6, position2d is a synonym for vector2d.
Definition vector3d.hpp:11
signed int s32
32 bit signed variable.
Definition irrTypes.hpp:72