|
| » myCSharp.de Diskussionsforum |
|
|
|
|
Autor
 |
|
S.H.-Teichhof
myCSharp.de-Mitglied

Dabei seit: 03.10.2004
Beiträge: 1.546
Entwicklungsumgebung: #Developer Herkunft: Sindringen
 |
|
Tutorial Teil 1: Hallo Word
In diesem Teil wird behandelt werden:
1.) die Einstellungen der IDE zur Verwendung der Irrlicht Engine behandeln.
2.) die Grundlagen der Verwendung der Irrlicht Engine
1.)Vorbereitung der IDE
Um die Irrlicht Engine in Ihrem Programm zu Verwenden müssen sie zuerst eine Referenz auf die irrlicht Dll (Irrlicht.NET.dll)Setzen. Bei dieser Gelegenheit stellen Sie auch sicher, dass (Irrlicht.dll) sich im gleichen Verzeichnis befindet
2.)Das erste Beispiel Hallo World
Nun zum Eigentlichen Programm.
C#-Code: |
using System;
using Irrlicht;
using Irrlicht.Video;
using Irrlicht.Core;
using Irrlicht.Scene;
namespace HelloWorld
{
class Example
{
[STAThread]
static void Main(string[] args)
{
IrrlichtDevice device = new IrrlichtDevice(DriverType.OPENGL);
device.WindowCaption = "Irrlicht.NET C# example 01 - Hello World";
ITexture texSydney =
device.VideoDriver.GetTexture(@"sydney.bmp");
Irrlicht.Scene.IAnimatedMesh mesh =
device.SceneManager.GetMesh(@"sydney.md2");
ICameraSceneNode cam =
device.SceneManager.AddCameraSceneNodeFPS(null, 100, 100, -1);
cam.Position = new Vector3D(20,0,-50);
ISceneNode node =
device.SceneManager.AddAnimatedMeshSceneNode(mesh, null, -1);
node.SetMaterialTexture(0, texSydney);
node.SetMaterialFlag(MaterialFlag.LIGHTING, false);
device.CursorControl.Visible = false;
int fps = 0;
while(device.Run())
{
if (device.WindowActive)
{
device.VideoDriver.BeginScene(
true, true, new Color(0,100,100,100));
device.SceneManager.DrawAll();
device.VideoDriver.EndScene();
if (fps != device.VideoDriver.FPS)
{
fps = device.VideoDriver.FPS;
device.WindowCaption =
"Irrlicht.NET C# example 01 - Hello World [" +
device.VideoDriver.Name + "] fps:" + fps;
}
}
}
}
}
}
|
Das Beispiel zeigt wie die grundlegenden Funktionen der Irrlicht Engine zu verwenden sind.
Es lädt ein md2 file, fügt eine Textur hinzu und zeigt eine animation. Dem Benutzer ist es des weitern möglich mit Hilfe der Tastatur und der Maus um die Objekte Herum zu Fliegen
Häufig Auftretende Probleme
• Wenn der Compiler angibt das 'Irrlicht' nicht gefunden werden kann Fügen sie eine Referenz auf Irrlicht.NET.dll ein
• Wenn es Colmpilieren ohne Probleme Funktioniert, aber das Programm eine Exzeption wie diese wirft: "An unhandled exception of type 'System.IO.FileNotFoundException' occurred in Unknown Module. Additional information: File or assembly name Irrlicht.NET, or one of its dependencies, was not found."
fehlt die Irrlicht.DLL. Kopiere Sie diese in ein Verzeichnis in dem die IDE Sie finden kann und wo die Irrlicht.NET.Dll ebenso vorhanden ist.
Nächster Teil: [mehrteiliges Tutorial] Irrlicht
| Dateianhang: |
sydney.bmp (59,10 KB, 2.186 mal heruntergeladen) |
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von S.H.-Teichhof am 25.04.2006 19:22.
|
|
25.04.2006 19:19 |
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
S.H.-Teichhof
myCSharp.de-Mitglied

Dabei seit: 03.10.2004
Beiträge: 1.546
Entwicklungsumgebung: #Developer Herkunft: Sindringen
Themenstarter
 |
|
Tutorial 2.Quake3Map
Dieses Tutorial Zeigt:
1. wie dem Benutzer das auswählen eines Video Treibers Gestaltet wird
2. wie eine Quake 3 Map in die Engine geladen wird.
3. wie eine vom Benutzer Gesteuerte Kamera erzeugt wird
4. Der Drawing Loop
Bitte Beachten: Sie Sollten mit den Grundlagen der Engine Vertraut sein. Dazu Bitte 1. Hallo World durcharbeiten.
1. Auswahl des Video Treibers
Der zu Verwendente Video Treiber wirb Bei der Irrlicht Engine durch ein Objekt des Typs Irrlicht.Video.DriverType Abgebildet dabei stehen Folgende Möglichkeiten zur Auswahl:
OPENGL
DIRECT3D9
DIRECT3D8
SOFTWARE2
SOFTWARE
NULL_DRIVER
Dem Benutzer Bieten wir Diese Möglichkeiten auf der Konsole an.
C#-Code: |
Console.Write("Please select the driver you want for this example:\n"+
" (a) Direct3D 9.0c\n (b) Direct3D 8.1\n (c) OpenGL 1.5\n"+
" (d) Software Renderer\n (e) Apfelbaum Software Renderer\n"+
" (f) NullDevice\n (otherKey) exit\n\n");
|
Werten Seine Eingabe mit Hilfe von Console.ReadKey().KeyChar und einer switch Anweisung aus und Speichern sie in das Objekt driverType das wir vorher angelegt haben.
C#-Code: |
switch(Console.ReadKey().KeyChar)
{
case('a'):
{
driverType = Irrlicht.Video.DriverType.DIRECT3D9;
break;
}
case ('b'):
{
driverType = Irrlicht.Video.DriverType.DIRECT3D8;
break;
}
case ('c'):
{
driverType = Irrlicht.Video.DriverType.OPENGL;
break;
}
case ('d'):
{
driverType = Irrlicht.Video.DriverType.SOFTWARE;
break;
}
case ('e'):
{
driverType = Irrlicht.Video.DriverType.SOFTWARE2;
break;
}
case ('f'):
{
driverType = Irrlicht.Video.DriverType.NULL_DRIVER;
break;
}
default:
{
return ;
}
}
|
Nun Erzeugen wir unser Irrlicht.IrrlichtDevice
C#-Code: |
Irrlicht.IrrlichtDevice device = new IrrlichtDevice(driverType);
|
Und Prüfen ob die Erzeugung Erfolgreich war
C#-Code: |
if (device == null)
{
return;
}
|
2. Laden des Map Files
nun Laden wir das mapfile in unser device FileSystem dies machen wir per
device.FileSystem.AddZipFileArchive("map-20kdm2.pk3");
Dies können wir tun da pk3 Dateien „nur“ zip Dateien Sind..
Jetzt noch die Eigentliche Map(20kdm2.bsp) in einen Irrlicht.Scene.IAnimatedMesh Laden und Überprüfen ob das Laden Erfolgreich war.
C#-Code: |
Irrlicht.Scene.IAnimatedMesh mesh = device.SceneManager.GetMesh("20kdm2.bsp");
if (mesh == null)
{
return;
}
|
3.Die Benutzer gesteuerte Kamera
Nun Fügen wir noch eine Benutzergesteuerte Kamera zu unserer Szene
C#-Code: |
ICameraSceneNode cam = device.SceneManager.AddCameraSceneNodeFPS(null, 100, 100, -1);
|
Und Setzen Ihre Position Auf einen Startpunkt Innerhalb unserer Welt
C#-Code: |
cam.Position = new Vector3D(1395,142,1326);
|
4. Der drawing loop
Jetzt Brauchen wir nur noch unseren Drawing Loop.
C#-Code: |
while(device.Run())
{
if (device.WindowActive)
{
device.VideoDriver.BeginScene(true, true, new Color(0,100,100,100));
device.SceneManager.DrawAll();
device.VideoDriver.EndScene();
if (fps != device.VideoDriver.FPS)
{
fps = device.VideoDriver.FPS;
device.WindowCaption = "Irrlicht.NET C# example 01 - Hello World ["+
device.VideoDriver.Name + "] fps:" + fps;
}
}
}
|
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von S.H.-Teichhof am 02.05.2006 21:06.
|
|
02.05.2006 21:01 |
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
MrSparkle
myCSharp.de-Mitglied

Dabei seit: 16.05.2006
Beiträge: 1.526
Entwicklungsumgebung: VS.NET Herkunft: Leipzig (Vogtländer im Exil)
 |
|
Ein wirklich interessantes Thema! Ich freue mich, daß du dir die Mühe gemacht hast, die Tutorials zu übersetzen! Das Hello World Beispiel hab ich schon auf der Irrlicht Homepage gefunden - und es hat auf Anhieb funktioniert, sogar mit eigenen Modellen.
Ich würde mich über weitere Beiträge sehr freuen! Am meisten würden mich (und viele andere sich auch) Themen interessieren, wie Shader oder das Scene-Management in Irrlicht. Z.b. wie man vorhandene fx-Shader oder Szenen mit mehreren Objekten aus einem Grafikprogramm wie 3ds max in Irrlicht integrieren kann. Leider gibt es da bisher noch sehr wenig Infos dazu, vor allem in C#.
Viele Grüße,
Christian
|
|
16.05.2006 13:06 |
E-Mail |
Website |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
| Zwischen diesen beiden Beiträgen liegt mehr als ein Jahr. |
p47rick
myCSharp.de-Mitglied
Dabei seit: 16.12.2006
Beiträge: 8
Entwicklungsumgebung: VS05+08 Herkunft: Wien, Österreich
 |
|
die Seite gibts nicht mehr...
Hat vll von euch jemand alle tutorials in c#?
|
|
03.07.2007 15:48 |
E-Mail |
Website |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
| Zwischen diesen beiden Beiträgen liegt mehr als ein Monat. |
Danwe
myCSharp.de-Mitglied
Dabei seit: 03.05.2007
Beiträge: 209
 |
|
Würde mich auch freuen wenns noch weiter geht.
Habe das gerade erst entdeckt u. habe schonmal einen Blick auf Irrlicht geworfen, ich werd mir das auf jeden Fall mal genauer ansehen.
|
|
14.08.2007 12:11 |
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
S.H.-Teichhof
myCSharp.de-Mitglied

Dabei seit: 03.10.2004
Beiträge: 1.546
Entwicklungsumgebung: #Developer Herkunft: Sindringen
Themenstarter
 |
|
Die ANpassung der ersten 2 Teile an den Neuen .Net Warpper ist in Arbeit und ich hoffe das ich so in 14 Tagen ein weiteres Teil Ferig Habe (Steck grade über beide Ohren in Arbeit)
|
|
14.08.2007 13:27 |
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
|
|