www.jammni.de

Logo - Kleiner Drache

Logo - Drache2.3. Rendern

Home >> Tutorials >> DirectX 9−Tutorial
 

Die Render-Methode

Diesmal befassen wir uns mit der Render-Methode. Sie dient, wie nicht anders zu erwarten war, zum Berechnen und Darstellen des Bildes. Aber außer dem Löschen des Hintergrundes werden wir uns sonst nur mit den Grundlagen beschäftigen.
Nachfolgend is der Code für die Render-Methode angegeben, der sich genauso im Hauptprogramm dieses Kapitels wieder findet:
 
 
Listing 4 - Render.cs:
1:   private void Render()
2:   {
3:     if (device == null)
4:       return;
5:  
6:     // Backbuffer löschen und gleichzeitig die Zeichenfläche blau einfärben
7:     device.Clear(ClearFlags.Target, System.Drawing.Color.Blue, 1.0f, 0);
8:     // Anfang der Szene
9:     device.BeginScene();
10:  
11:     // An dieser Stelle würden Objekte gerendert werden
12:  
13:     // Ende der Szene
14:     device.EndScene();
15:     device.Present();
16:   }

  Das sieht nicht nur einfach aus, dass ist auch einfach und außerdem schnell erklärt.br Als erstes wird vorsorglich abgefragt, ob das Direct3D-Device überhaupt erstellt wurde und ob es gültig ist. Als nächstes wird der gesamte Inhalt des Backbuffers gelöscht und mit einer einheitlichen Farbe übermalt - in diesem Fall blau. Dabei gibt der erste Parameter die entsprechende Oberfläche an, die gelöscht werden soll. Es soll erst einmal reichen, hier immer ClearFlags.Target einzusetzen - die anderen sind vorerst nicht von Bedeutung. Der zweite Parameter gibt die Farbe an und die restlichen beiden Parameter sind auch erst einmal nicht weiter wichtig. Sie geben nur den Abstand vom Betrachter an, an dem die Oberfläche gelöscht wird und einen Wert, der in jedem Stencil-Buffer-Eintrag gespeichert wird.

Als nächstes wird die Methode BeginScene() aufgerufen. Damit wird Direct3D mitgeteilt, dass wir jetzt etwas zeichnen wollen. Anschließend kann die ganze Szene gezeichnet werden. Doch darum gehts erst im nächsten Kapitel.
Nach dem Zeichnen wird Direct3D natürlich auch mitgeteilt, dass der Zeichnenvorgang beendet wurde - dies geschieht mit einem Aufruf von EndScene(). Und abschließend wird das soeben Gezeichnete noch auf den Bildschirm gebracht.

Im nächsten Kapitel wird ein Viereck auf dem Bildschirm gezaubert. Also schnell weiterlesen.