From 393b5cd1dc438872af89d334ef6e5fcc59f27d47 Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Sun, 13 Jan 2013 17:24:39 +1000 Subject: Added Irrlicht 1.8, but without all the Windows binaries. --- ..._1_1video_1_1_i_material_renderer_services.html | 568 +++++++++++++++++++++ 1 file changed, 568 insertions(+) create mode 100644 libraries/irrlicht-1.8/doc/html/classirr_1_1video_1_1_i_material_renderer_services.html (limited to 'libraries/irrlicht-1.8/doc/html/classirr_1_1video_1_1_i_material_renderer_services.html') diff --git a/libraries/irrlicht-1.8/doc/html/classirr_1_1video_1_1_i_material_renderer_services.html b/libraries/irrlicht-1.8/doc/html/classirr_1_1video_1_1_i_material_renderer_services.html new file mode 100644 index 0000000..6bdf347 --- /dev/null +++ b/libraries/irrlicht-1.8/doc/html/classirr_1_1video_1_1_i_material_renderer_services.html @@ -0,0 +1,568 @@ + + + + +Irrlicht 3D Engine: irr::video::IMaterialRendererServices Class Reference + + + + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + + + + + + + +
+
Irrlicht 3D Engine + +
+ +
+ + + + + + +
+
+
+ + + + +
+
+ +
+
+
+ +
+
+ +
+
irr::video::IMaterialRendererServices Class Reference
+
+
+ +

Interface providing some methods for changing advanced, internal states of a IVideoDriver. + More...

+ +

#include <IMaterialRendererServices.h>

+ +

List of all members.

+

+Public Member Functions

+ +

Detailed Description

+

Interface providing some methods for changing advanced, internal states of a IVideoDriver.

+ +

Definition at line 20 of file IMaterialRendererServices.h.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + +
virtual irr::video::IMaterialRendererServices::~IMaterialRendererServices () [inline, virtual]
+
+
+ +

Destructor.

+ +

Definition at line 25 of file IMaterialRendererServices.h.

+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + +
virtual IVideoDriver* irr::video::IMaterialRendererServices::getVideoDriver () [pure virtual]
+
+
+ +

Get pointer to the IVideoDriver interface.

+
Returns:
Pointer to the IVideoDriver interface
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual void irr::video::IMaterialRendererServices::setBasicRenderStates (const SMaterialmaterial,
const SMateriallastMaterial,
bool resetAllRenderstates 
) [pure virtual]
+
+
+ +

Can be called by an IMaterialRenderer to make its work easier.

+

Sets all basic renderstates if needed. Basic render states are diffuse, ambient, specular, and emissive color, specular power, bilinear and trilinear filtering, wireframe mode, grouraudshading, lighting, zbuffer, zwriteenable, backfaceculling and fog enabling.

+
Parameters:
+ + + + +
materialThe new material to be used.
lastMaterialThe material used until now.
resetAllRenderstatesSet to true if all renderstates should be set, regardless of their current state.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual bool irr::video::IMaterialRendererServices::setPixelShaderConstant (const c8name,
const f32floats,
int count 
) [pure virtual]
+
+
+ +

Sets a constant for the pixel shader based on a name.

+

This can be used if you used a high level shader language like GLSL or HLSL to create a shader. See setVertexShaderConstant() for an example on how to use this.

+
Parameters:
+ + + + +
nameName of the variable
floatsPointer to array of floats
countAmount of floats in array.
+
+
+
Returns:
True if successful.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual bool irr::video::IMaterialRendererServices::setPixelShaderConstant (const c8name,
const bool * bools,
int count 
) [pure virtual]
+
+
+ +

Bool interface for the above.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual bool irr::video::IMaterialRendererServices::setPixelShaderConstant (const c8name,
const s32ints,
int count 
) [pure virtual]
+
+
+ +

Int interface for the above.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual void irr::video::IMaterialRendererServices::setPixelShaderConstant (const f32data,
s32 startRegister,
s32 constantAmount = 1 
) [pure virtual]
+
+
+ +

Sets a pixel shader constant.

+

Can be used if you created a shader using pixel/vertex shader assembler or ARB_fragment_program or ARB_vertex_program.

+
Parameters:
+ + + + +
dataData to be set in the constants
startRegisterFirst register to be set.
constantAmountAmount of registers to be set. One register consists of 4 floats.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual bool irr::video::IMaterialRendererServices::setVertexShaderConstant (const c8name,
const f32floats,
int count 
) [pure virtual]
+
+
+ +

Sets a constant for the vertex shader based on a name.

+

This can be used if you used a high level shader language like GLSL or HLSL to create a shader. Example: If you created a shader which has variables named 'mWorldViewProj' (containing the WorldViewProjection matrix) and another one named 'fTime' containing one float, you can set them in your IShaderConstantSetCallBack derived class like this:

+
    virtual void OnSetConstants(video::IMaterialRendererServices* services, s32 userData)
+    {
+        video::IVideoDriver* driver = services->getVideoDriver();
+
+        f32 time = (f32)os::Timer::getTime()/100000.0f;
+        services->setVertexShaderConstant("fTime", &time, 1);
+
+        core::matrix4 worldViewProj(driver->getTransform(video::ETS_PROJECTION));
+        worldViewProj *= driver->getTransform(video::ETS_VIEW);
+        worldViewProj *= driver->getTransform(video::ETS_WORLD);
+        services->setVertexShaderConstant("mWorldViewProj", worldViewProj.M, 16);
+    }
+
Parameters:
+ + + + +
nameName of the variable
floatsPointer to array of floats
countAmount of floats in array.
+
+
+
Returns:
True if successful.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual bool irr::video::IMaterialRendererServices::setVertexShaderConstant (const c8name,
const bool * bools,
int count 
) [pure virtual]
+
+
+ +

Bool interface for the above.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual bool irr::video::IMaterialRendererServices::setVertexShaderConstant (const c8name,
const s32ints,
int count 
) [pure virtual]
+
+
+ +

Int interface for the above.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual void irr::video::IMaterialRendererServices::setVertexShaderConstant (const f32data,
s32 startRegister,
s32 constantAmount = 1 
) [pure virtual]
+
+
+ +

Sets a vertex shader constant.

+

Can be used if you created a shader using pixel/vertex shader assembler or ARB_fragment_program or ARB_vertex_program.

+
Parameters:
+ + + + +
data,:Data to be set in the constants
startRegister,:First register to be set
constantAmount,:Amount of registers to be set. One register consists of 4 floats.
+
+
+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + + -- cgit v1.1