Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

30.06.2011, 16:52

Kurve / Kreis / Zylinder in DirectX

Hallo Community

Mein Editor ist langsam in der Endphase. Das einzige was fehlt ist das Zeichnen / Hinzufügen von Kurven, Kreisen, Kugel, etc. (Allgemein, runde Objekte). Meine Frage nun, wie kann ich eine einfache Kurve in DirectX rendern?

1.
Mir ist klar, dass man zum beispiel einen Halbkreis machen kann, in dem man eine Linie macht und dieser eine Ausdehung gibt (von 50%).
VOn der Datenstruktur her ist das klar.. aber wie render ich das schlau?? Gibt es das in DirectX bereits??

2.
Wie mache ich eine Fläche? Also einen einfachen Kreis zum Beispiel??

3.
Wie sieht dann ein Zylinder aus? bzw. eine Kugel??

Ein paar Denkanstösse wären super =) danke und Gruss
Master Chief

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

2

30.06.2011, 16:55

Wo genau liegt das Problem!? Direct3D kann im Prinzip nur Dreiecke rendern. Also musst du deine Flächen, Kugeln, Kreise, Zylinder, ... eben aus Dreiecken bauen...

3

30.06.2011, 17:06

Also muss ich einfach eine Routine schreiben, welche mir einen Kreis in Dreiecke aufteilt??
Je mehr Dreiecke, desto schöner wird der Kreis, jedoch desto mehr Daten braucht es und Performance geht flöten...

Gibt es da nichts wo man optimieren könnte??

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

4

30.06.2011, 17:09

Also muss ich einfach eine Routine schreiben, welche mir einen Kreis in Dreiecke aufteilt??
Je mehr Dreiecke, desto schöner wird der Kreis, jedoch desto mehr Daten braucht es und Performance geht flöten...

Exakt.

Gibt es da nichts wo man optimieren könnte??

Klar: Möglichst wenig Dreiecke verwenden :P

5

30.06.2011, 17:14

Ah ok.. Ja dann ist ja alles klar =)
Habe gedacht / gehofft, dass DirectX villeicht eine Routine bereits hat, mit welcher das "Problem" einfacher gelöst werden könnte..

Aber so geht das ja auch =) Danke

6

30.06.2011, 17:15

Bzw. Habe doch noch eine Frage =)

Wie mache ich dann eine Kurve?? Die hat ja keine Flächen, wo ich jetzt in Dreiecke aufteilen könnte...

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

7

30.06.2011, 17:18

Direct3D kann auch Linien rendern. Wenn die allerdings eine Dicke != 1 Pixel haben sollen musst du die Dinger so oder so aus Dreiecken bauen...

8

30.06.2011, 17:20

Dann gib ihr doch eine. Objekte ohne die geringste Breite könnte man doch gar nicht sehen, alles braucht eine zweite Dimension. Am besten du drehst die Kurve dann noch so zur Kamera, dass man die Fläche sieht und nicht auf die Seite schaut; oder du machst die Kurve röhrenförmig.

Werbeanzeige