Loading...
Searching...
No Matches
IMaterialRendererServices.h
Go to the documentation of this file.
// Copyright (C) 2002-2012 Nikolaus Gebhardt
// This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_MATERIAL_RENDERER_SERVICES_H_INCLUDED__
#define __I_MATERIAL_RENDERER_SERVICES_H_INCLUDED__
#include "SMaterial.h"
#include "S3DVertex.h"
namespace irr
{
namespace video
{
class IVideoDriver;
class IMaterialRendererServices
{
public:
virtual ~IMaterialRendererServices() {}
virtual void setBasicRenderStates(const SMaterial& material,
const SMaterial& lastMaterial,
bool resetAllRenderstates) = 0;
virtual bool setVertexShaderConstant(const c8* name, const f32* floats, int count) = 0;
virtual bool setVertexShaderConstant(const c8* name, const bool* bools, int count) = 0;
virtual bool setVertexShaderConstant(const c8* name, const s32* ints, int count) = 0;
virtual void setVertexShaderConstant(const f32* data, s32 startRegister, s32 constantAmount=1) = 0;
virtual bool setPixelShaderConstant(const c8* name, const f32* floats, int count) = 0;
virtual bool setPixelShaderConstant(const c8* name, const bool* bools, int count) = 0;
virtual bool setPixelShaderConstant(const c8* name, const s32* ints, int count) = 0;
virtual void setPixelShaderConstant(const f32* data, s32 startRegister, s32 constantAmount=1) = 0;
virtual IVideoDriver* getVideoDriver() = 0;
};
} // end namespace video
} // end namespace irr
#endif
S3DVertex.h
SMaterial.h
irr::video::IMaterialRendererServices
Interface providing some methods for changing advanced, internal states of a IVideoDriver.
Definition IMaterialRendererServices.h:21
irr::video::IMaterialRendererServices::setVertexShaderConstant
virtual void setVertexShaderConstant(const f32 *data, s32 startRegister, s32 constantAmount=1)=0
Sets a vertex shader constant.
irr::video::IMaterialRendererServices::setPixelShaderConstant
virtual bool setPixelShaderConstant(const c8 *name, const bool *bools, int count)=0
Bool interface for the above.
irr::video::IMaterialRendererServices::setVertexShaderConstant
virtual bool setVertexShaderConstant(const c8 *name, const f32 *floats, int count)=0
Sets a constant for the vertex shader based on a name.
irr::video::IMaterialRendererServices::setVertexShaderConstant
virtual bool setVertexShaderConstant(const c8 *name, const s32 *ints, int count)=0
Int interface for the above.
irr::video::IMaterialRendererServices::setPixelShaderConstant
virtual bool setPixelShaderConstant(const c8 *name, const f32 *floats, int count)=0
Sets a constant for the pixel shader based on a name.
irr::video::IMaterialRendererServices::setBasicRenderStates
virtual void setBasicRenderStates(const SMaterial &material, const SMaterial &lastMaterial, bool resetAllRenderstates)=0
Can be called by an IMaterialRenderer to make its work easier.
irr::video::IMaterialRendererServices::~IMaterialRendererServices
virtual ~IMaterialRendererServices()
Destructor.
Definition IMaterialRendererServices.h:25
irr::video::IMaterialRendererServices::setPixelShaderConstant
virtual bool setPixelShaderConstant(const c8 *name, const s32 *ints, int count)=0
Int interface for the above.
irr::video::IMaterialRendererServices::getVideoDriver
virtual IVideoDriver * getVideoDriver()=0
Get pointer to the IVideoDriver interface.
irr::video::IMaterialRendererServices::setVertexShaderConstant
virtual bool setVertexShaderConstant(const c8 *name, const bool *bools, int count)=0
Bool interface for the above.
irr::video::IMaterialRendererServices::setPixelShaderConstant
virtual void setPixelShaderConstant(const f32 *data, s32 startRegister, s32 constantAmount=1)=0
Sets a pixel shader constant.
irr::video::IVideoDriver
Interface to driver which is able to perform 2d and 3d graphics functions.
Definition IVideoDriver.h:257
irr::video::SMaterial
Struct for holding parameters for a material renderer.
Definition SMaterial.h:227
irr::video
The video namespace contains classes for accessing the video driver. All 2d and 3d rendering is done ...
Definition EDriverFeatures.h:11
irr
Everything in the Irrlicht Engine can be found in this namespace.
Definition aabbox3d.h:13
irr::f32
float f32
32 bit floating point variable.
Definition irrTypes.h:104
irr::c8
char c8
8 bit character variable.
Definition irrTypes.h:31
irr::s32
signed int s32
32 bit signed variable.
Definition irrTypes.h:66
- Irrlicht Engine Documentation © 2003-2012 by Nikolaus Gebhardt. Generated on for Irrlicht 3D Engine by Doxygen 1.15.0