Illicht with .NET: 13 tutorials

A forum to store posts deemed exceptionally wise and useful
Post Reply
Ginjo-Builder
Posts: 3
Joined: Sun Oct 02, 2016 3:19 pm

Illicht with .NET: 13 tutorials

Post by Ginjo-Builder »

We have written 13 tutorials for Ginjo-Builder. Ginjo uses Irrlicht with the Lime wrapper, so these should be useful for anyone using Irrlicht with .NET.

The tutorials are designed to stand on their own and are deliberately very short and concentrate on accomplishing a single task. For example, the lights tutorial covers the various types of lighting, but lighting is not used in any other tutorial. As such you will regularly see the following type of code for setting the Lighting material flag of a model or material: Warrior.SetMaterialFlag(video.MaterialFlag.Lighting, false)

The cameras tutorial introduces the FPS and Maya cameras, which handle user input internally. The Maya camera is used in subsequent tutorials to allow for basic input response: It is controlled by holding down a mouse button while moving the mouse. Hold down the right mouse button to move sideways/up/down; hold down the left mouse button to rotate; hold down the center mouse button (or mouse wheel) and move your mouse to zoom in and out. User input and event handling is covered in the mouse & keyboard tutorial. Combining it with the frame rate independent updates introduced in the movement/animators tutorial is straight forward.

Note that error checking is omitted for the most part in order to reduce code length. However, in production code you should check the return values of functions.

Tutorials:

1. Render loop: http://ginjo-builder.com/htmldoc/renderloop.html
Describes how to create a project and compiler options XML file. Describes how to initialize the Irrlicht 3D engine, load a model, add a camera and create a render loop.

2.Mouse & Keyboard: http://ginjo-builder.com/htmldoc/mousekeyboard.html
Shows how to create an event handler and process input events.

3. Sound: http://ginjo-builder.com/htmldoc/sound.html
Shows how to import .NET libraries and play sound using System.Windows.Media.MediaPlayer

4. Cameras: http://ginjo-builder.com/htmldoc/cameras.html
Describes hot to use cameras and introduces the built-in FPS and Maya cameras. Shows how to resize the window and handle aspect ratio changes. Camera's filed of view and view frustum are also introduced.

4. Lights: http://ginjo-builder.com/htmldoc/lighting.html
Shows how to use global illumination (ambient lighting) and how to modify the lighting properties of materials. Introduces the three types of lighting in Irrlicht: Video.LightType.Point, Video.LightType.Directional and Video.LightType.Spot

5. Terrain (Heightmap): http://ginjo-builder.com/htmldoc/terrain.html
Shows how to create a terrain based on a heightmap using Scene.TerrainSceneNode and how to apply textures to the terrain.

6. Manual terrain: http://ginjo-builder.com/htmldoc/manualterrain.html
Shows how to apply and scale a material to scene nodes created using Scene.SceneManager.GeometryCreator

7. Skybox/Skydome: http://ginjo-builder.com/htmldoc/skybox.html
A Skybox/Skydome creates the illusion of a large game world by creating a cuboid or sphere background around the camera.

8. Movement/Animators: http://ginjo-builder.com/htmldoc/animators.html
Shows how to create frame rate independent movement, as well as automating movement using animators.

9. SetFrameLoop animation: http://ginjo-builder.com/htmldoc/setframeloop.html
Shows how to control a model's built-in animations using the Scene.AnimatedMeshSceneNode.SetFrameLoop function.

10.Skeletal animation: http://ginjo-builder.com/htmldoc/skeletal.html
Shows the basics of moving a model's built-in skeleton.

11. Particle systems: http://ginjo-builder.com/htmldoc/particlesystems.html
Particle systems are used to replicate the seemingly random nature of "fuzzy" phenomena such as explosions, rain, smoke or fire.

12. Ring of Fire: http://ginjo-builder.com/htmldoc/ringoffire.html
Builds on the particle systems tutorial and creates a ring of fire around a model.
Post Reply