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

drz

Frischling

  • »drz« ist der Autor dieses Themas
  • Private Nachricht senden

1

23.06.2009, 17:15

Einen einfachen Kreis zeichnen [gelöst]

Hallo liebe spieleprogrammierer,

kann mir vielleicht jemand sagen, wie ich einfache Kreise mit DirectX zeichnen kann? Ich habe einen kleinen Terrain-Editor gebaut und möchte nun die einzelnen Vertex bewegen.

Sicher kennt ihr dass von einigen anderen Editoren. Man wählt das Werkzeug und bekommt eine Kreis-Schablone an die Maus und alle innen liegenden Vertex werden verschoben.

Eben diesen Kreis möchte ich gern zeichnen, am besten noch so, dass er nicht von der Terrain-Textur überzeichnet wird.

Vielen Dank für jegliche Hilfe oder Schlagworte die mir bei der Suche helfen.

ChrisJ

Alter Hase

Beiträge: 487

Wohnort: Schweich

Beruf: Schüler

  • Private Nachricht senden

2

23.06.2009, 19:00

falls du einen kreis aufs terrain projezieren möchtest:
zeichne einen zylinder mit passenden einstellungen für den stencilbuffer
"Don't trust your eyes: They are a hell of a lot smarter than you are"

3

23.06.2009, 19:20

Äh, einfach die Randpunkte berechnen und als Z Wert den Höhenwert des Terrains nehmen.
Ist doch eigentlich ziemlich easy (die x und y Werte kriegt man mit sinus/cosinus)
Lieber dumm fragen, als dumm bleiben!

the[V]oid

Alter Hase

Beiträge: 775

Wohnort: Aachen

  • Private Nachricht senden

4

23.06.2009, 20:08

Wie war das eigentlich nochmal... sind die sin und cos aus cmath besonders flott (weil die in einer Tabelle nachgeschlagen und interpoliert werden) oder besonders langsam (weil sie mithilfe von Reihen berechnet werden)?
<< an dieser Stelle ist eine Signatur verstorben >>

5

23.06.2009, 20:11

Oder mit einem Pixelshader jedes mal testen ob die Distance zwischen dem Pixel und dem Mittelpunk in einem bereich von beispielsweise 10 bis 12 liegt. So lassen sich auch "Antialiased" Kreise sehr leicht erstellen, oder man könnte auch einen kleinen verlauf machen der nach innen geht.

6

23.06.2009, 20:38

Zitat von »"the[V«

oid"]Wie war das eigentlich nochmal... sind die sin und cos aus cmath besonders flott (weil die in einer Tabelle nachgeschlagen und interpoliert werden) oder besonders langsam (weil sie mithilfe von Reihen berechnet werden)?

Ich glaube wenn man die im Editor benutzt um den Auswahlkreis zu zeichnen würde man auch einen Faktor 1000 in der Geschwindigkeit nicht merken :D
Lieber dumm fragen, als dumm bleiben!

the[V]oid

Alter Hase

Beiträge: 775

Wohnort: Aachen

  • Private Nachricht senden

7

23.06.2009, 20:58

Zitat von »"Jonathan_Klein"«

Zitat von »"the[V«

oid"]Wie war das eigentlich nochmal... sind die sin und cos aus cmath besonders flott (weil die in einer Tabelle nachgeschlagen und interpoliert werden) oder besonders langsam (weil sie mithilfe von Reihen berechnet werden)?

Ich glaube wenn man die im Editor benutzt um den Auswahlkreis zu zeichnen würde man auch einen Faktor 1000 in der Geschwindigkeit nicht merken :D


Trotzdem würde mich das mal interessieren.
<< an dieser Stelle ist eine Signatur verstorben >>

drz

Frischling

  • »drz« ist der Autor dieses Themas
  • Private Nachricht senden

8

24.06.2009, 16:32

So, ich hab die Variante mit dem Pixelshader verwendet. Ist wohl die einfachste und schnellste. Vielen Dank an euch alle.

Werbeanzeige