Einzelnen Beitrag anzeigen

Benutzerbild von TOC
TOC

Registriert seit: 5. Jan 2005
Ort: Trier
248 Beiträge
 
Delphi 7 Personal
 
#7

Re: Mit DirectX->DrawPrimitive umrandete Flächen zeichnen

  Alt 15. Nov 2009, 08:53
Hi Medium!

Vielen Dank für Deine Vorschläge und Hilfe, es hat mich auf einige neue Ideen gebracht.

Zitat von Medium:
Edit: Noch was. Viele machen auch den Fehler, das Near- und Far-Clipping vieeel zu nah bzw. weit zu setzen, wodurch sich der Z-Buffer arg auseinanderzieht.
Ok, das wusste ich auch noch nicht. Ich habe in meinem Programm das FarClipping jetzt mal runter gesetzt auf 2000. Irgendwie sieht die Grafik dadurch wesentlich kristalliner aus, irgendwie einfach besser, vielleicht weil es jetzt weniger Z-Rundungsfehler gibt. Super Tip !

Wie Du das mit dem verschieben um die Normalen meinst habe ich immer noch nit kapiert, aber, egal, mir ist ein neuer Trick eingefallen. Also, ich berechne mir zuerst die 4 Vektoren von dem Rechteck, dann ziehe ich davon zweidimensional gesehen einen einstellbaren kleinen Betrag ab und berechne nochmal 4 Vektoren für ein etwas kleineres Rechteck bzw. Quadrat. Zum Zeichnen der ausgefüllten Fläche nehme ich dann das kleinere Quadrat, und zeichne nun ZWEI mal den WireFrame herum, einmal mit dem etwas verkleinerten Vektoren und einmal mit den Vektoren in Normalgröße- funzt super! Mit dem ausgesparten Rechteck/Quadrat im Inneren Umrande ich das ganze ebenso. Ok, es ist etwas mehr Rechen- und Zeichenaufwand, weil ich ja den inneren und äußeren Rand nun 2 mal Zeichne, also 4 Ränder, und das pro Quadrat, also mal 6 für meinen Würfel. Trotzdem: Der Aufwand lohnt sich, da die Umrandungen jetzt nahezu aus durchgezogenen Linien bestehen und die Optik 10 mal besser ist.
Und als Nebeneffekt sehen die Umrandungen jetzt auch noch etwas dicker aus als vorher, das erleichtert das erkennen der Grafik enorm!

Grüße von TOC!
Lars Uwe Hohmann
"Wäre die Erde eine Bank, ihr hättet sie längst gerettet!"
(Zitat GreenPeace)
  Mit Zitat antworten Zitat