Wird PB eines tages 3D fähig sein ? Was denkt ihr ?

Hier kann alles mögliche diskutiert werden. Themen zu Purebasic sind hier erwünscht.
Flames und Spam kommen ungefragt in den Mülleimer.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Zaphod
Beiträge: 2875
Registriert: 29.08.2004 00:40

Beitrag 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 ;)
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Ynnus
Beiträge: 855
Registriert: 29.08.2004 01:37
Kontaktdaten:

Beitrag 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.
Zuletzt geändert von Ynnus am 09.12.2005 19:16, insgesamt 1-mal geändert.
Benutzeravatar
Zaphod
Beiträge: 2875
Registriert: 29.08.2004 00:40

Beitrag 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.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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.. ò_ó
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Ynnus
Beiträge: 855
Registriert: 29.08.2004 01:37
Kontaktdaten:

Beitrag 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.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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. ;)
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Zaphod
Beiträge: 2875
Registriert: 29.08.2004 00:40

Beitrag 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.
Antworten