Irrlicht 3D Engine
Loading...
Searching...
No Matches
IMaterialRendererServices.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_SERVICES_H_INCLUDED__
6#define __I_MATERIAL_RENDERER_SERVICES_H_INCLUDED__
7
8#include "SMaterial.h"
9#include "S3DVertex.h"
10
11namespace irr
12{
13namespace video
14{
15
16class IVideoDriver;
17
18
21{
22public:
23
26
28
37 virtual void setBasicRenderStates(const SMaterial& material,
38 const SMaterial& lastMaterial,
39 bool resetAllRenderstates) = 0;
40
42
66 virtual bool setVertexShaderConstant(const c8* name, const f32* floats, int count) = 0;
67
69 virtual bool setVertexShaderConstant(const c8* name, const bool* bools, int count) = 0;
70
72 virtual bool setVertexShaderConstant(const c8* name, const s32* ints, int count) = 0;
73
75
80 virtual void setVertexShaderConstant(const f32* data, s32 startRegister, s32 constantAmount=1) = 0;
81
83
90 virtual bool setPixelShaderConstant(const c8* name, const f32* floats, int count) = 0;
91
93 virtual bool setPixelShaderConstant(const c8* name, const bool* bools, int count) = 0;
94
96 virtual bool setPixelShaderConstant(const c8* name, const s32* ints, int count) = 0;
97
99
104 virtual void setPixelShaderConstant(const f32* data, s32 startRegister, s32 constantAmount=1) = 0;
105
107
109};
110
111} // end namespace video
112} // end namespace irr
113
114#endif
115
Interface providing some methods for changing advanced, internal states of a IVideoDriver.
virtual void setVertexShaderConstant(const f32 *data, s32 startRegister, s32 constantAmount=1)=0
Sets a vertex shader constant.
virtual bool setPixelShaderConstant(const c8 *name, const bool *bools, int count)=0
Bool interface for the above.
virtual bool setVertexShaderConstant(const c8 *name, const f32 *floats, int count)=0
Sets a constant for the vertex shader based on a name.
virtual bool setVertexShaderConstant(const c8 *name, const s32 *ints, int count)=0
Int interface for the above.
virtual bool setPixelShaderConstant(const c8 *name, const f32 *floats, int count)=0
Sets a constant for the pixel shader based on a name.
virtual void setBasicRenderStates(const SMaterial &material, const SMaterial &lastMaterial, bool resetAllRenderstates)=0
Can be called by an IMaterialRenderer to make its work easier.
virtual bool setPixelShaderConstant(const c8 *name, const s32 *ints, int count)=0
Int interface for the above.
virtual IVideoDriver * getVideoDriver()=0
Get pointer to the IVideoDriver interface.
virtual bool setVertexShaderConstant(const c8 *name, const bool *bools, int count)=0
Bool interface for the above.
virtual void setPixelShaderConstant(const f32 *data, s32 startRegister, s32 constantAmount=1)=0
Sets a pixel shader constant.
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 ...
Everything in the Irrlicht Engine can be found in this namespace.
Definition aabbox3d.h:13
float f32
32 bit floating point variable.
Definition irrTypes.h:104
char c8
8 bit character variable.
Definition irrTypes.h:31
signed int s32
32 bit signed variable.
Definition irrTypes.h:66