Skip Navigation Links
About
Products
Downloads
Contact
Tutorial
Dokumentation
OpenGl für Android
 
Skip Navigation Links
Hallo Welt
Texturen
Mathematik
Abbildungen
Animationen
Kurven
Surfaces
Licht & Farben
Text
Camera
Schatten

Erste Schritte

Es gibt kaum eine einfachere Art der 3D-Programmierung als mit Drawing 3d. Mit zwei organisatorischen Schritten und drei Programmzeilen befinden wir uns mitten in der 3D Welt.

Zunächst kopieren wir die beiden Dateien "Drawing3d.dll" und "Tao.OpenGl.dll" ins Bin\Debug Verzeichnis und fügen den Verweisen "Drawing3d.dll" und "Tao.OpenGl.dll" hinzu.
Wer sich damit nicht so genau auskennt...
Weiters stellen wir
    using Drawing3d.Math;
   using Drawing3d.Devices;
   using Drawing3d;
in die using Abteilung des Form1.cs.

Jetzt sind es noch drei Programmzeilen:

  • Definition und Erzeugung einer Instanz der Klasse OpenGLDevice:
    public OpenGlDevice Device = new OpenGlDevice();            
  • Im Loadabschnitt vom Form wird der Device ein Control zuweisen, z.B: das Form selbst.
    Bemerkung: Der Loadabschnitt wird durch Doppelklick auf das Formular erzeugt.
    Device.WinControl = this;
  • Ebenfalls im Loadabschnit dem Painthandler der Device ein Event zuordnen.
    Device.OnPaint += new EventHandler(Device_OnPaint);  
Los gehts! Im OnPaint kann nun die 3D-Ausgabe erfolgen.
// z.B: Eine Kugel
Device.drawSphere(new xyz(0, 0, 0), 4);
Bemerkung: Die Einheiten sind cm.
Wenns nicht so ganz geklappt hat: Download von Hello World

Und das ist das Ergebnis:

 


Der Quelltext insgesamt :

Versuche folgendes :

  • Die Drawing3d Device hat eine automatisches 3D Navigation. Schreib in die Loadmethode:
               .....
               Device.Navigate = NavigateKind.ZoomRotateTrans;
               .....
               
               
    Mit gedrückter linker Maustaste wird die Szene rotiert. Weiters wird mit gedrückter Strg-Taste gezoomt und mit gedrückter Shifttaste verschoben.
  • Füge weitere 3D Körper in der OnPaintmethode hinzu:
    Ein Quader an der Stelle (3,2,1) mit den Abmessungen Länge 3 Breite 4, Höhe 2.
               void Device_OnPaint(object sender, EventArgs e)
            {
            ....
            Tools.drawBoxAt(Device,new xyz(3,2,1),new xyz(3,4,2));
            ...
            }
            
    Das Ergebnis:

    Wir hätten gerne verschieden Farben.
    Dazu setzen wir das ambiente Licht vor der Kugelausgabe auf blau und vor der Quaderausgabe auf gelb.

                
                void Device_OnPaint(object sender, EventArgs e)
            {
                Device.Ambient = Color.Blue;
                Device.drawSphere(new xyz(0, 0, 0), 3);
                Device.Ambient = Color.Yellow;
                Tools.drawBoxAt(Device,new xyz(3,2,1),new xyz(3,4,2));
            }
                
    Das Ergebnis:

    Beachte dass es prinzipiell zwei Quellen gibt mit denen etwas dargestellt werden kann:
    1. Mit der 3D Device
    2. Mit Tools. Sie beinhalten eine Menge von Drawfunktionen.

  • Neben der Verwendung der Farben für Ambient, Specular und Emission gibt es die Möglichkeit Materialien vor zu definieren, die entsprechende Farbwerte haben. In Drawing3d.Materials gibt es einige vordefinierte Materialien. So z.B.: Gold, Kupfer usw...
    Wir verwenden nun Materialien statt der ambienten Farbe.
            //Device.Ambient = Color.Blue;
                Device.Material =Drawing3d.Materials.Materials.Gold;
                Device.drawSphere(new xyz(0, 0, 0), 3);
                //Device.Ambient = Color.Yellow;
                Device.Material =Drawing3d.Materials.Materials.Pearl;
                Tools.drawBoxAt(Device,new xyz(3,2,1),new xyz(3,4,2));
               
            
            
    Ergebnis:
     
An dieser Stelle rate ich dir, etwas zu exprimentieren und die Funktionen von der 3D Device und von Tools auszuprobieren.

Viel Spaß!


















Hinzufügen zu den Verweisen:

1. Öffne den Projektinspektor
2. Suche dort "Verweise".
3. Rechte Maustaste --> Verweise hinzufügen
4. Dann dauert es eine Weile, bis ein Formular mit Foldern kommt..
5. Wähle Durchsuchen und navigiere ins HelloWorld/Bin/Debug
6. Dort sollten die zwei Dateien Drawing3d.dll und TaoOpenGl.dll sein.
7. Beide anwählen und OK.
8. Jetzt müssten in den Verweisen im Projektinspektor die beiden Dateien sein.


















 
Copyright © Drawing3D inc