//Einbinden der Header-Datei von Irrlicht
#include <irrlicht.h>
//Einbinden der Namespaces
using namespace irr;
using namespace core;
using namespace video;
//Die Hauptprozedur main()
int main()
{
//Unser Irrlicht-Device erstellen und initialisieren
IrrlichtDevice *device =
createDevice( video::EDT_OPENGL, dimension2d<u32>(640, 480), 32,
false, false, false, 0);
//Konnte das Device erstellt werden ?
if (!device)
return 1; //Falls nicht, Fehlercode zurückgeben und Programm abbrechen
//Den Text des Hauptfensters festlegen
device->setWindowCaption(L"Ein Dreieck darstellen mit Irrlicht !");
//Den Videotreiber erstellen und Zeiger aus dem Device abholen
IVideoDriver* driver = device->getVideoDriver();
//Ein Material deklarieren
video::SMaterial material;
//Das Material nimmt kein Licht an
material.Lighting = false;
//Das Material soll voll gezeichnet werden
material.Wireframe = false;
//Während das Device aktiv ist ...
while(device->run())
{
//Szene beginnen
driver->beginScene(true, true, SColor(3,150,203,255));
//Material festlegen
driver->setMaterial(material);
//Position des Dreiecks auf der Z-Achse (="Tiefenachse")
const irr::f32 z = 1.0f;
//Definieren der Vertices
core::vector3df cvPunktA(-0.5f, -0.3f, z); //Punkt A
core::vector3df cvPunktB(0.5f, -0.3f, z); //Punkt B
core::vector3df cvPunktC(0.0f, 0.5f, z); //Punkt C
//Zeichnen des Dreiecks
driver->draw3DTriangle(core::triangle3df( //Typ ist triangle3df
cvPunktC, //erster Vektor
cvPunktB, //zweiter Vektor
cvPunktA //dritter Vektor
),video::SColor(255,255,125,0)); //Farbwert als SColor
//Szene beenden
driver->endScene();
}
//Das Device freigeben
device->drop();
//Keinen Fehler zurückgeben
return 0;
}