Seite 2 von 4

Verfasst: 09.12.2005 18:17
von Kaeru Gaman
Zaphod hat geschrieben:um opengl für 3d sachen zu benutzen kommt man um fließkommazahlen nicht herum.
da bin ich absolut gegenteiliger meinung!

ich bevorzuge fixkomma.

wenn ich fließkomma benutze, kann doch folgendes passieren:

ich erstelle ein modell, das ziemlich feine strukturen besitzt.

eine kopie das modells will ich jetzt sehr sehr weit am äußeren rand der karte darstellen.

mit fließkomma ist u.U. die genauigkeit für die feinheiten des modells nicht mehr gegeben.

Verfasst: 09.12.2005 18:32
von Zaphod
wenn du doubles benutzt ist die genauigkeit hoch genug um selbst feine details noch auf beachtliche distanzen darzustellen (ab sehr großen distanzen werden dann die ungenauigkeiten eventuell wirklich ein problem.

da opengl genau wie directx aber nur doubles und floats für transformationen und 3 diemensionale koordinaten unterstützt, wird dir die entscheidung abgenommen wenn du nicht grade einen software rasterizer schreiben willst, wo dann mangels hardware beschleunigung feine details dann garnicht erst zum thema werden ;)

Verfasst: 09.12.2005 18:49
von Kaeru Gaman
> da opengl genau wie directx aber nur doubles und floats für transformationen und 3 diemensionale koordinaten unterstützt,

das ist mir neu, im RedBook klang das anders... o_O

mir geht es halt darum, dass ich die größe der Map genau bestimmen kann,
wenn ich als kleinsten schritt tausenstel Units drin habe, weiss ich präzise,
wie groß die Map maximal sein kann...

wir gehts hierbei halt nicht um ne billige shooter-map,
sondern eine wenigstens halbwegs maßstabgerechte darstellung
eines fluges durch ein sonnensystem...

Verfasst: 09.12.2005 19:14
von Ynnus
Kaeru Gaman hat geschrieben:überhaupt 64bit eben...

wer für OpenGL Fließkomma statt Ganzzahl verwendet, ist selber schuld...
Wo willst du da denn Ganzzahlen verwenden wenn ich fragen darf? Die Ganze OpenGL-"Welt" besteht praktisch aus gebrochenen Zahlenwerten. Allein schon etliche Parameter werden von 0 bis 1 angegeben mit feiner Abstufung durch Dezimalwerte.
Dazu kommt die genaue Positionierung eines Objekts in der 3D-Welt. Mit Ganzzahlen kommst du da nicht weit.

EDIT:
es gibt afaik jedenfalls nur integer varianten für vertiecen mit 2 komponenten, also nur für 2d.
Wobei man mittels glTranslate() auch in die Z-Ebene vorrücken könnte.

Verfasst: 09.12.2005 19:14
von Zaphod
es gibt afaik jedenfalls nur integer varianten für vertiecen mit 2 komponenten, also nur für 2d.

aber schau dir mal sowas wie celestia an, das arbeitet auch mit doubles und da gibt es keine probleme.

Verfasst: 09.12.2005 19:16
von Kaeru Gaman
@Sunny

hallo!

hast du mein letztes posting gelesen?

nach den informationen aus RedBook und der dürftigen Beschreibung der DLL für PB
hatte ich angenommen, ganzzahlen benutzen zu können.

ich war einfach nicht auf die idee gekommen,
dass so ein quatsch wie fließkomma die einzige möglichkeit ist.

...also kein grund, mich anzufotzen.. ò_ó

Verfasst: 09.12.2005 19:20
von Ynnus
Kaeru Gaman hat geschrieben:@Sunny

hallo!

hast du mein letztes posting gelesen?

nach den informationen aus RedBook und der dürftigen Beschreibung der DLL für PB
hatte ich angenommen, ganzzahlen benutzen zu können.

ich war einfach nicht auf die idee gekommen,
dass so ein quatsch wie fließkomma die einzige möglichkeit ist.

...also kein grund, mich anzufotzen.. ò_ó
1. Nein, hab ich nicht, weil ich meinen Beitrag verfasst habe, bevor du und Zaphod hier weiterdiskutiert hattet. Der letzte Beitrag den ich vor meinem Posting auf dem Schirm hatte war um 17:12 Uhr.

2. Fließkommazahlen sind kein Quatsch sondern, solange man sie außerhalb von PB verwendet (mit 8 bit) anständig präzise.

3. Immer diese gebildete Ausdrucksweise. Solltest du dir echt abgewöhnen, so nimmt dich doch keiner ernst.

Verfasst: 09.12.2005 19:29
von Kaeru Gaman
@Zaphod

gäbe es eine möglichkeit, bei der verwendung von doubles gleichsam den exponenten zu fixieren?

ich hätte dann zwar insgesamt weniger bit zur verfügung, aber könnte das als fixkomma nutzen...

die werte werden doch eh als bytes übergeben...

wenn ich die anzahl bits weiss, die der exponent verwendet,
kann ich das doch editorseitig lösen...

Verfasst: 09.12.2005 19:31
von Kaeru Gaman
Ynnus hat geschrieben:1. Nein, hab ich nicht, weil ich meinen Beitrag verfasst habe, bevor du und Zaphod hier weiterdiskutiert hattet. Der letzte Beitrag den ich vor meinem Posting auf dem Schirm hatte war um 17:12 Uhr.

2. Fließkommazahlen sind kein Quatsch sondern, solange man sie außerhalb von PB verwendet (mit 8 bit) anständig präzise.

3. Immer diese gebildete Ausdrucksweise. Solltest du dir echt abgewöhnen, so nimmt dich doch keiner ernst.
1. tja, pech

2. was man da als "anständig" bezeichnet, ist ja wohl geschmackssache.
wenn ich ein gesicht in einem mehrere parsec großen raum darstellen will,
stoße ich deutlich an die grenzen einer double.

3. wie denkst du über leute, die deine kompetenz nicht sehen,
weil sie nur auf deine langen haare schauen?
wer mich nicht ernst nimmt, ist selber schuld. ;)

Verfasst: 09.12.2005 19:45
von Zaphod
hm, kann sein dass das irgendwie geht, aber wenn dann wirst du dich wohl in assembly für die x86 fließkommaeinheit einarbeiten müssen.
da würde ich dir doch eher raten es mal mit doubles zu probieren (also nicht mit pb, bzw nicht mit pb <4.0 ;) )

wozu brauchst du eigentlich perfekte wertepräzision, hast du vor features einzubauen wie die korrekte abstandsberechnung zweier himmelskörper zu einer bestimmten zeit? wenn ja, dann mach doch den mathematischen teil mit fixpunkt mathematik und den darstellungsteil mit flieskommazahlen, denn für die darstellung reichen die sicherlich.