Wrapper Library for Irrlicht

Release Notes


Known Issues


v0.7.7

Added a new LOD manager that changes the meshes used by child mesh objects at particular distances and can fade the node in and out.

Added a new Billboard Group node that is an optimised collection of billboard meshes that can be used for custom particle effects.

Added a new Fade animator that fades, scales and eventually deletes the node from the scene.

Added a new Electrical Bolt effect node that simulates the effect of an electrical discharge. Scene Node created by Sudi with extensions from Trivtn

Added a new Beam effect node that simulates a laser or tracer beam type effect. Scene Node created by Gaz Davidson (Bitplane)

Added IrrAddBoltSceneNode to create an electrical bolt effect.

Added IrrSetBoltProperties to set the properties of an electrical bolt effect

Added IrrAddBeamSceneNode to create a beam effect.

Added IrrSetBeamSize to set the size of a beam effect.

Added IrrSetBeamPosition to set the start and end position of a beam effect.

Added IrrAddFadeAnimator attach a fade, scale and delete animator to a node.

Added IrrAddLODManager to create an LOD management system.

Added IrrAddLODMesh to add a level of detail to a LOD management system

Added IrrSetLODMaterialMap to allow the assignment of materials that are used as substitues for a nodes normal material to face them out over time

Added IrrSetNodeMesh to set the mesh of a node

Added IrrSetBillBoardColor to set the colour of a standard billboard

Added IrrSetBillBoardSize to set the size of a standard billboard

Added IrrAddBillBoardGroupToScene to add a billboard group management system

Added IrrAddBillBoardToGroup to add a billboard to a billboard group

Added IrrAddBillBoardByAxisToGroup to add a billboard fixed to an axis to a billboard group

Added IrrRemoveBillBoardFromGroup to remove a billboard from a billboard group

Added IrrBillBoardGroupShadows to shade billboards in a billboard group with lighting from a particular direction

Added IrrGetBillBoardGroupCount to retrieve the count of the number of billboards in a billboard group

Added IrrBillBoardForceUpdate to force a billboard group to update their orientations to the camera.

Added IrrStartAdvanced to provide an advanced start up function that allows for the use of anti-aliasing and high precision floating point calculations. Contributed by Agamemnus.

Added IrrBeginSceneAdvanced to provide an advance begin scene function providing control over whether the back buffer and buffer are erased. Contributed by Agamemnus.

Added IrrSetRenderTarget to provide control for switching the output of the drawing operations perminantly to a texture. Contributed by Agamemnus.

Added IrrGet2DPositionFromScreenCoordinates to get a coordinate on a 2D plane from a ray cast through a camera. Contributed by Agamemnus.

Added IrrSetNodeColorByVertex to change the way vertex color effects all materials in a node. Contributed by Agamemnus.

Added IrrSetNodeAmbientColor to set the ambient color of all materials associated with a node. Contributed by Agamemnus.

Added IrrSetNodeDiffuseColor to set the diffuse color of all materials associated with a node. Contributed by Agamemnus.

Added IrrSetNodeSpecularColor to set the specuilar color of all materials associated with a node. Contributed by Agamemnus.

Added IrrSetNodeEmissiveColor to set the emissive color of all materials associated with a node. Contributed by Agamemnus.

v0.7.6

Added IrrGetScreenSize to get the size of the screen. Contributed by Agamemnus.

Added IrrGetAbsoluteMousePosition to get the absoloute position of the mouse. Contributed by Agamemnus.

Added IrrGetNodeScale to determine the scaling applied to a node.

Added IrrGetScreenSize to get the size of the screen.

Added IrrIsFullscreen to check if the application is fullscreen mode.

Added IrrIsWindowActive to check if the window is active.

Added IrrIsWindowFocused to check if the window has focus.

Added IrrIsWindowMinimized to check if the window is minimised.

Added IrrMaximizeWindow to maximise the window.

Added IrrMinimizeWindow to minimise the window.

Added IrrRestoreWindow to restore the size of the window.

Added IrrResizableWindow to make a window resizable by the user.

Changes to irrlicht_transforms.bi by Agamemnus to include the following things: -
Reworked IrrlichtNewton.bi to provide a simple interface and basic example function on Newton collision. The origonal include file is supplied as "IrrlichtNewtonGamePhysics.bi"

Added IrrlichtODE.bi to provide almost identical physics support as is supplied for IrrlichtNewton.bi only for ODE physics. This is all based on the ODE include files contributed to FreeBASIC by D.J.Peters.

Added the Batching Meshes module from Gaz Davidson (Bitplane) if your scene contains hundreds of static scenenodes this technique can greatly increase the framerate by batching them all together in one set of geometry. You can realise as high as a 40 times speed increase!

Added IrrCreateBatchingMesh to create an empty batching mesh that is a collection of other meshes and used to reduce node counts in a scene thereby increasing framerate.

Added IrrAddToBatchingMesh to add a standard static mesh to a batch of meshes.

Added IrrFinalizeBatchingMesh to complete the batching mesh once all meshes have been added and recover a standard mesh object.

Added IrrSetMeshMaterialTexture to set the texture image associated with a mesh.

Added IrrGetMeshVertexMemory to get the memory for the array of vertex data structures in the Irrlicht Engine.

Added the "XEffects - Reloaded" system produced by BlindSide from the irrlicht community, this contains several shaders that can have a massive visual impact on the realism of your scene. The Dynamic Shadow casting lights probably have the biggest impact. of all of the shaders introducing quality realistic lighting into the scene.

Added IrrXEffectsStart to start the XEffects GLSL and HLSL shader support system.

Added IrrXEffectsEnableDepthPass to enable a depth rendering pass in XEffects used with the SSAO and water shaders.

Added IrrXEffectsAddPostProcessingFromFile to add a GLSL or HLSL shader to the engine from a file.

Added IrrXEffectsSetPostProcessingUserTexture to set the texture associated with certain XEffects.

Added IrrXEffectsAddShadowToNode to add a dynamic shadow to a node.

Added IrrXEffectsRemoveShadowFromNode to remove a dynamic shadow from a node.

Added IrrXEffectsExcludeNodeFromLightingCalculations to exclude a node from lighting calculations in the XEffects rendering passes.

Added IrrXEffectsAddNodeToDepthPass to add a node to XEffects depth pass rendering.

Added IrrXEffectsSetAmbientColor to set the ambient level of lighting the the XEffects shaders.

Added IrrXEffectsSetClearColor to set the background color when using XEffect post processing shaders.

Added IrrXEffectsAddShadowLight to add a shadow casting XEffects light.

Added IrrXEffectsSetShadowLightPosition to set the position of an XEffects shadow casting light.

Added IrrXEffectsGetShadowLightPosition  to get the position of an XEffects shadow casting light.

Added IrrXEffectsSetShadowLightTarget  to set the target of an XEffects shadow casting light.

Added IrrXEffectsGetShadowLightTarget to get the target of an XEffects shadow casting light.

Added IrrXEffectsSetShadowLightColor to set the color of an XEffects shadow casting light.

Added IrrXEffectsGetShadowLightColor to set the color of an XEffects shadow casting light.

Tidyied up styling of HTML documentation

Moved Lighting discussion to the IrrlichtWrapper Website.


v0.7.5

Remove the unsupported IrrLockOpenGLTexture from the reference and corrected heading for IrrUnlockImage.

Added command IrrGetNodeMesh to get the mesh associated with a scene node contributed by agamemnus

Modified IrrStop to close the device, this now means that resources are tidied up correctly and a new device can even be opened to change resolution.

Modified the handling of Keyboard, Mouse and GUI events so that all events are recieved and the GUI does not block the other two.

Removed IrrGUIEvents as it is no longer needed.

Added IrrRenameMesh to allow a loaded mesh to be renamed

Added IrrScaleMesh to allow for the uniform scaling of a mesh without effecting its vertex normals.

Added IrrDraw2DImageElementStretch to copy an image to the screen while scaling it too. Contributed by Eric (The Car)

Added IrrSetNodeTriangleSelector to attach a triangle selector to a specific node for multiple nodes. Recommended by Agamemnus.

Changed IrrSetMeshVertexCoords, IrrSetMeshVertexCoords and IrrSetMeshVertexSingleColor to include an extra index so for example a group [0] to [0] would include one vertex.

Added IrrGetTextureInformation to get dimentions, pitch and color format of a texture.

Added IrrGetImageInformation to get dimentions, pitch and color format of an image.

Added IrrSetNodeRotationPositionChange to allow for the incremental rotation and direction dependant incremental position change of a node while returning information that can be used to attach a camera and locate other objects and effects. This code is based on examples from Chev and  also in large part the cockpit example functions by Arras.

Added IrrGetMeshBoundingBox to get the bounding box of a mesh. Contributed by Agamemnus.

Added IrrGetNodeTransformedBoundingBox to get the tranformed absoloute position of a nodes bounding box. Contributed by Agamemnus.

Changed IrrAddNodeShadow to add an optional parameter allowing a low resoloution mesh to be used in shadow calculation.

v0.7.4

Changed  IrrMaterialVertexColourAffects to IrrMaterialVertexColorAffects

Changed IrrSetNodeAnimationSpeed to take a speed parameter of type floating point to conform with Irrlicht signiture changes.

Changed IrrSetNodeAnimationFrame to take a frame parameter of type floating point to conform with Irrlicht signiture changes.

Added function IrrGetDistanceBetweenNodes to get the distance between two nodes efficiently.

Added function IrrAreNodesIntersecting to determine if the bounding boxes of two nodes are intersecting.

Added function IrrIsPointInsideNode to determine if a point is inside the bounding box of a node.

Added function IrrGetCollisionResultPosition to add eplisoid collision management supplied by 'The Car'.

Corrected IrrGetCollisionGroupFromMesh to return a triangle selection.highlighted by super_castle

Updated Newton functions provided by SiskinEDGE to support mesh buffer.

Corrected missing parameters in IrrSetMeshVertexSingleColor highlighted by agamemnus

Updated IrrRemoveCollisionGroup to allow it to take a scene node parameter that lets the selector be removed from an associated node.

Updated IrrGetCollisionGroupFromComplexMesh and IrrGetCollisionGroupFromBox so the created selector is attached to the scene node they are created from.

Added function IrrGet3DPositionFromScreenCoordinates to get a 3D position on a plane from a set of screen co-ordinates, contributed by agamemnus

Included correction to CParticleEmissionEffector constructor used in IrrAddStopParticleAffector to allow the stop time to be set correctly. Contributed by The Car

Added example 91_Example_DistanceAndCollision.bas to demonstrate new distance and collision functions.

Added example 92_Example_MovingEntitiesByCollision.bas to demonstrate moving entities around a scene through collision.

Added example 93_Example_3DPositionFromScreen.bas to demonstrate getting a point on a plane from screen co-ordinates.

Corrected example 50_Example_Fading_Nodes_Out.bas to correctly demonstrate fading nodes.

Resolved all compilation warnings at warning level 3 when built under msvc6 and g++3.4.5

v0.7.3

Added in new video feature queries supported by Irrlicht for Vertex Buffer Object, Alpha to Coverage, Color Masks, Multiple Render Targets, Blend settings for Multiple Render Targets and Geometry Shaders.

Added IrrSetMaterialBlend for setting the Blend settings of materials associated with the ONETEXTURE_BLEND material.

Added IrrAddBillboardTextSceneNode for adding a billboard with text on it that can be used as a scaling label in a 3D environment.

Added IrrSetTime for setting the irrlicht animation time in the system.

Updated example 23_Example_Video_Features.bas to display new feature capabilities.

Updated example 81_Example_GLSL_Shader_Materials.bas to display a range of GLSL materials.

Added example 86_Example_Screenshot_to_texture.bas to demonstrate capturing screenshots to textures.

Added example 87_Example_MultiPass_Rendering.bas to demonstrate blending several rendering passes to the display.

Added example 88_Example_Billboard_Text.bas to demonstrate adding billboard text and attaching it to a node.

Added example 89_Example_Orthagonal_Camera.bas to demonstrate the use of orthagonal cameras

Added example 90_Example_Collision_Point.bas to demonstrate a new ray collision test feature.

Added IrrDisableFeature for disabling video driver features.

Added IrrGetNodeBoundingBox to get the bounding box of a node. supplied by Agamemnus

Added IrrSetMaterialLineThickness to set the material line thickness of vertex drawing operation. supplied by Agamemnus

Added IrrSetMeshVertexSingleColor to set groups of verticies in a mesh to a uniform color. supplied by Agamemnus

Added IrrGetCollisionGroupFromMesh to creates a collision group from the triangles in a mesh.

Added IrrRemoveCollisionGroup to remove a collision group freeing the memory it uses.

Added IrrGetNodeAndCollisionPointFromRay to detect a collision between a ray and scene node objects that have had collision groups created for them.

Added IrrDisableFeature to disable particular video features.

Added IrrGetMeshFrameCount to get the number of frames in an animated mesh

Added IrrGetMeshBufferCount to get the number of mesh buffers in a mesh.

Added IrrSetCameraOrthagonal  to set the camera to display an Orthagonal view instead of the default persepective view.

Updated IrrGetMeshIndexCount, IrrGetMeshIndices, IrrSetMeshIndices, IrrGetMeshVertexCount, IrrGetMeshVertices, IrrSetMeshVertices, IrrSetMeshVertexColors, IrrSetMeshVertexCoords and IrrSetMeshVertexSingleColor to work from individual mesh buffers instead of the entire mesh as a single object.

Corrected IrrSetMeshVertices and IrrSetMeshVertexCoords to correctly set the bounding box of the mesh they modify.

v0.7.2

Changed the IrrGetScreenShot command to capture a portion of the screen to texture rather than the whole screen to an image.

Corrected a bug where mouse events were not being passed to the active camera when keyboard and mouse is being captured.

Corrections for bugs in passing variables to GLSL materials.

v0.7.1

Updated documentation with new commands

Updated IrrlichtWrapper to compile with Irrlicht version 1.7.1

Updated IrrlichtWrapper to compile with g++ upto version 4.4.1

Added IrrSetMeshVertexColors for setting the color of verticies supplied by Agamemnus

Added IrrSetMeshVertexCoords for setting the co-ordinates of verticies supplied by Agamemnus

Added IrrAddEmptySceneNode to add an empty scene node to the scene supplied by Agamemnus

Added IrrGetCameraUpDirection to get the up direction of the active camera supplied by Agamemnus

Added IrrGetScreenShot to grab a screenshot into an image

Added IrrRemoveImage to remove an image from memory

Added IrrMaterialVertexColourAffects to set the material property that vertex colour effects

Added IrrGUIClear to clear all GUI objects from the screen

Added IrrGUIRemove to remove a specific GUI object

Added IrrGUIGetText to get the text associated with a GUI object

Added IrrGUISetText to set the text associated with a GUI object

Added IrrAddWindow to add a blank window GUI object to the display

Added IrrAddButton to add a clickable button GUI object to the display

Added IrrAddScrollBar to add a scrollbar GUI object to the display

Added IrrAddListBox to add a listbox GUI object to the display

Added IrrAddListBoxItem to add items to a listbox GUI object

Added IrrInsertListBoxItem to insert items into specific positions in a listbox GUI object

Added IrrRemoveListBoxItem to remove a specific item from a listbox GUI object

Added IrrSelectListBoxItem to select a specific item in a listbox GUI object

Added IrrAddEditBox to add an editable editbox GUI item

Added IrrAddImage to add a 2D image GUI item

Added IrrAddCheckBox to add a clickable checkbox GUI item

Added IrrCheckCheckBox to set the check state of a checkbox GUI item

Added IrrAddFileOpen to add a file open GUI item

Added IrrGUISetFont to set the font associated with the GUI

Added IrrGUISetColor to set the colour of the GUI

Added IrrGUIEvents to start or end capturing GUI events

Added IrrGUIEventAvailable to check if there is a GUI event available

Added IrrReadGUIEvent to read a GUI event

Added IrrGetLastSelectedFile to get the last select file from a GUI file selection object

Added IrrSetViewPort to allow rendering to be confined to an area of the screen for split screen effects

Added IrrSetCameraAspectRatio to allow the aspect ratio of a camera to be changed primarily for split screen effects

Updated example 36 materials to work with Irrlicht 1.7.1

Added examples to demonstrate a GLSL material, GUI, Split Screen, Freetype fonts and Embedded OpenGL commands.

Added example 85_Example_Split_Screen.bas to demonstrate splitscreen rendering.

v0.7

Newton Physics Engine support for convex hulls by SiskinEDGE

Modified to work with Irrlicht v1.6

Support for hardware accelerated meshes allowing static models to .

Support for Crossed grass, correction to reduce grass 'popup'

Particle systems now have minimum and maximum particle size properties in
their configuration structures

v0.6.2

Corrections to allow compilation under linux without modification

Captured keyboard commands are now also sent to the active camera.

Correction to example 44 to prevent a crash under build for Direct3D

Corrections to build for DirectX to support all 236 commands in the library

v0.6.1

Corrected examples to not use litteral paths thanks AlexZ

Added column support to push particle affector

Added IrrSetColumnDistanceOfEffect to allow the push affector columnn effect to be dynamically changed

Added IrrCreateImage to create blank images

Added IrrLockImage to get the pixels for an image

Added IrrUnlockImage to release the pixels for an image

Added IrrGetSphericalTerrainSurfacePosition for getting coordinates from a sphereical terrains face number and a logical X,Z coordinate

Added IrrGetSphericalTerrainSurfacePositionAndAngle for getting coordinates from a sphereical terrains face number and a logical X,Z coordinate, this also returns the angle of the point at the surface, useful for placing objects on the spheres surface.

Added IrrGetSphericalTerrainLogicalSurfacePosition for getting the logical face number and X,Z coordinates from normal spacial coordinates. (This is not 100% accurate yet) (not supported in DirectX in this release)

Added IrrAddMayaCamera for adding a maya style camera to the view you can click and drag to move, revolve and zoom this camera. Suggested by Alvaro

Updated documentation with new commands

Added examples 70 to 76 to demonstrate features

Minor correction to example 12 thanks Alvaro

Significant improvement to Example 14 to show proper manual camera control

Corrected IrrSetCameraUpDirection in the manual thanks AlexZ

v0.6

Included a simple hacha.jpg file to correct examples 21, 41 and 43

Added IrrAddClouds to create a clouds node by Gaz Davidson and Nikolaus Gebhardt

Added IrrAddGrass to create a patch of grass across a terrain by Gaz Davidson

Added IrrSetSkyDomeColor for tinting the texture on a skydome

Added IrrAddStopParticleAffector to stop particle flows

Added IrrSetSkyDomeColor for setting the color of verticies in a skydome

Added IrrAddZoneManager for adding automatic node management

Added IrrGetImage for loading image files that do not use video memory

Added IrrAddTerrainTile for adding terrain objects that can be tiled!

Added IrrScaleTileTexture for scaling tiled terrain objects

Added IrrAttachTile for attaching tilable terrain objects together

Added IrrSetTileColor for loading the vertex color of terrain tiles

Added IrrSetTileStructure for loading the height and vertex color of terrain tiles

Added IrrSetGrassDensity for changing grass density

Added IrrSetGrassWind for changing the strength of wind affecting the grass

Added IrrSetZoneManagerAttachTerrain for attaching a terrain to a zone

Added IrrRevolveCamera for 6DOF (six degrees of freedom) camera motion for spacecraft and aircraft

Added IrrSetMousePosition for moving the mouse on the screen

Added IrrTransparentZWrite for ordering transparent objects. This causes a performance hit but can correct situations where transparent objects appear in the wrong order on the screen

Added IrrGetTerrainTileHeight to get the height of a point on a tile terrain

Added IrrGetTerrainHeight to get the height of a point on a normal terrain

Added IrrAddLensFlare to create a camera lens flare effect

Added IrrSetFlareScale to set the scale of the lens flare effect

Added IrrSetSkyDomeColorBand to add a band of color to a skydome

Added IrrSetSkyDomeColorPoint to add a circle of color radiating out from a point to the vertices of a skydome

Added IrrSetZoneManagerProperties to set the properties of a zone management object

Added IrrSetNodeName to set the name of a node

Added IrrGetNodeName to get the name of a node

Added IrrGetRootSceneNode to get the root object within which all other nodes are contained

Added IrrGetChildCollisionNodeFromRay to get a child object hit by a ray

Added IrrSetZoneManagerBoundingBox to get the bounding box of a zone managment object

Added IrrGetChildCollisionNodeFromPoint to get a child object contained in a specific location

Added IrrGetNodeFirstChild to get the first child object of a specific object

Added IrrIsNodeLastChild to check if an object is the last child object of a specific object

Added IrrGetNodeNextChild to get the next child object of a specific object

Added IrrGetNodeAbsolutePosition to get the absolout position of a node taking into account the positions of all of its parents

Added IrrSetNodeParent to set the parent node of a specific node

Added IrrSetCameraUpAtRightAngle to adust the camera up angle so that it is at right angles to the camera vector

Added IrrAddSphericalTerrain to create a spherical terrain object for planets

Added IrrScaleSphericalTexture to scale the textures of a spherical terrain object

Added IrrAddStopParticleAffector to create a particle affector that stops the flow of particles from a specific emitter

Added IrrAddParticlePushAffector to create a particle affector that pushes particles in particular directions

Added IrrAddColorMorphAffector to create a particle color morph affector that changes the color of a particle over its lifetime

Added IrrSetFurthestDistanceOfEffect to set the furthest distance that the push affector has any influence

Added IrrSetNearestDistanceOfEffect to set the nearest distance that the push affector has any influence

Added IrrSetCenterOfEffect to set the center of the effect of a push affector

Added IrrSetStrengthOfEffect to set the strength of a push affector

Added IrrAddSplineAffector to create a spline path affector for particles

v0.5.1

Included a new parameter into IrrStart that allows the wrapper to enable Irrlichts vertical syncronisation to prevent 'tearing' of the picture by syncronising the refresh of the display. (suggested by Daiwa)

V0.5

Eponasoft contributed support for skydomes with IrrAddSkyDomeToScene

Eponasoft contributed support for water nodes with IrrAddWaterSurfaceSceneNode

Eponasoft contributed support for hill planes with IrrAddHillPlaneMesh

Eponasoft contributed support for loading IrrEdit scenes with IrrLoadScene

Added support for saving the current scene to a file that can be loaded into irrEdit with IrrSaveScene.

Added support for finding a node in the scene by its ID with IrrGetSceneNodeFromId

Added support for finding a node in the scene by its name with IrrGetSceneNodeFromName

Support for adding a simple cube scene node

Support for adding a simple Sphere scene node

Added support for the Irrlicht call to set texture creation flags with IrrSetTextureCreationFlag

Added support for the Irrlicht call to draw a 3D line into the display with IrrDraw3DLine

Added support for the Irrlicht call to create a texture that is suitable for the scene manager to use as a surface to which it can render its 3d scene with IrrCreateRenderTargetTexture. Each the dimentions must be a power of two for example 128x128 or 256x256

Added support for the Irrlicht call to draw scene manager objects to a texture surface with IrrDrawSceneToTexture. The texture must have been created with a call to IrrCreateRenderTargetTexture

Added support for the Irrlicht call to create a blank texture with IrrCreateTexture

Added support for the Irrlicht call to lock the texture and returns a pointer to the pixels with IrrLockTexture

Added support for the Irrlicht call to unlock the texture with IrrUnlockTexture, presumably after it has been modified and recreate the mipmap levels

Added support for the Irrlicht call to remove a texture from memory with IrrRemoveTexture freeing the resources

Added support for the Irrlicht query feature command. The video card can now be queried to see which video card features it supports.

Added support for the Irrlicht call to add a mesh to the scene as a static object with IrrAddStaticMeshForNormalMappingToScene, the mesh is altered so that it is suitable for the application of a Normal or Parallax mapping material, at this time any animation information is lost.

Added support for Irrlicht call to make a normal map from a greyscale bump map texture with IrrMakeNormalMapTexture

Added support for Irrlicht call to Get the number of materials associated with a node with IrrGetMaterialCount

Added support for Irrlicht call to Get the material associated with the node at the particular index with IrrGetMaterial

Added support for Irrlicht call to Set how shiny the material is with IrrMaterialSetShininess the higher the value the more defined the highlights

Added support for Irrlicht call to set the color of specular highlights on the object with IrrMaterialSetSpecularColor

Added support for Irrlicht call to set the color of diffuse lighting on the object with IrrMaterialSetDiffuseColor

Added support for Irrlicht call to set the color of ambient light reflected by the object with IrrMaterialSetAmbientColor

Added support for Irrlicht call to set the color of light emitted by the object with IrrMaterialSetEmissiveColor

Added support for Irrlicht call to  set material specific parameter with IrrMaterialSetMaterialTypeParam

Added a materials interface with a series of functions for adding GPU Shader programs for modern graphics cards. This interface is in an early phase of development and requires more work.

Added support for Irrlicht calls for creating Materials based upon GPU programs for cards that support the feature : IrrAddHighLevelShaderMaterial, IrrAddHighLevelShaderMaterialFromFiles, IrrAddShaderMaterial and IrrAddShaderMaterialFromFiles

Added support for Irrlicht calls for creating constants to materials with: IrrCreateNamedVertexShaderConstant, IrrCreateNamedPixelShaderConstant, IrrCreateAddressedVertexShaderConstant and IrrCreateAddressedPixelShaderConstant

IrrGetMS3DJointNode and IrrGetDirectXJointNode are now replaced with a universal IrrGetJointNode call.

Added support for Irrlicht calls for setting the current frame number being played in the animation with IrrSetNodeAnimationFrame

Added support for Irrlicht calls for setting the time in seconds across which two animation frames are blended with IrrSetTransitionTime. This can be used to smothly animate a model between two poses where no animation data exists.

Added support for Irrlicht calls for animating the mesh based on the position of the joints, this should be used at the end of any manual joint operations including blending and joints animated using IRR_JOINT_MODE_CONTROL and IrrSetNodeRotation on a bone node with IrrAnimateJoints

Added support for Irrlicht calls for setting the animation mode of joints in a node with IrrSetJointMode allowing them to be blended or controlled programatically.

Added support for Irrlicht call to write the first frame of the supplied animated mesh out to a file using the specified file format with IrrWriteMesh

Added support for Irrlicht calls for creating a particle emitter for an animated mesh scene node with IrrCreateAnimatedMeshSceneNodeEmitter

Added support for Irrlicht calls for creating a point attraction affector with IrrAddParticleAttractionAffector. This affector modifies the positions of the particles and attracts them to a specified point at a specified speed.

Added support for Irrlicht calls for creating a rotation affector with IrrCreateRotationAffector. This affector modifies the positions of the particles and attracts them to a specified point at a specified speed per second.

Added support for Irrlicht calls for setting direction the emitter emits particles with IrrSetParticleEmitterDirection.

Added support for Irrlicht calls for setting minimum number of particles the emitter emits per second with IrrSetParticleEmitterMinParticlesPerSecond.

Added support for Irrlicht calls for setting maximum number of particles the emitter emits per second IrrSetParticleEmitterMaxParticlesPerSecond.

Added support for Irrlicht calls for setting minimum starting color for particles with IrrSetParticleEmitterMinStartColor.

Added support for Irrlicht calls for setting maximum starting color for particles IrrSetParticleEmitterMaxStartColor.

Added support for Irrlicht calls for enabling or disabling an affector with IrrSetParticleAffectorEnable.

Added support for Irrlicht calls for altering the fadeout affector changing the fade out time with IrrSetFadeOutParticleAffectorTime.

Added support for Irrlicht calls for altering the fadeout affector changing the target color IrrSetFadeOutParticleAffectorTargetColor.

Added support for Irrlicht calls for altering the direction and force of gravity with IrrSetGravityParticleAffectorDirection.

Added support for Irrlicht calls for setting the time in milliseconds when the gravity force is totally lost and the particle does not move any more with IrrSetGravityParticleAffectorTimeForceLost.

Added support for Irrlicht calls for setting whether or not this will affect particles in the X direction with IrrSetParticleAttractionAffectorAffectX.

Added support for Irrlicht calls for setting whether or not this will affect particles in the Y direction with IrrSetParticleAttractionAffectorAffectY.

Added support for Irrlicht calls for setting whether or not this will affect particles in the Z direction with IrrSetParticleAttractionAffectorAffectZ.

Added support for Irrlicht calls for setting whether or not the particles are attracting or detracting with IrrSetParticleAttractionAffectorAttract.

Added support for Irrlicht calls for setting the point that particles will attract to with IrrSetParticleAttractionAffectorSetPoint.

Added support for Irrlicht calls for setting the point that particles will rotate about with IrrSetRotationAffectorSetPivotPoint.

Added support for Irrlicht calls for clearing all meshes that are held in the mesh cache but not used anywhere else with IrrClearUnusedMeshes

Added support for Irrlicht calls for removing all nodes in a scene with IrrRemoveAllNodes. This is useful for example for clearing the scene between levels.

Added support for Irrlicht calls for saving a screenshot out to a file with IrrSaveScreenShot

Added support for Irrlicht calls for setting the Ambient color emitted by the light with IrrSetLightAmbientColor

Added support for Irrlicht calls for setting the the light strength fading over distance with IrrSetLightAttenuation

Added support for Irrlicht calls for setting whether the light casts shadows with IrrSetLightCastShadows

Added support for Irrlicht calls for setting the Diffuse color emitted by the light with IrrSetLightDiffuseColor

Added support for Irrlicht calls for setting the lights strength's decrease between Outer and Inner cone with IrrSetLightFalloff

Added support for Irrlicht calls for setting the angle of the spot's inner cone with IrrSetLightInnerCone

Added support for Irrlicht calls for setting the angle of the spot's outer cone IrrSetLightOuterCone

Added support for Irrlicht calls for setting the Radius of light with IrrSetLightRadius. Everything within this radius be be lighted.

Added support for Irrlicht calls for setting the Specular color emitted by the light with  IrrSetLightSpecularColor

Added support for Irrlicht calls for setting the type of the light with IrrSetLightType

Adding lighting attributes has provided support to defining spot lights and distant light, the position and direction of these directional light sources can be changed by moving and rotation the light node.