Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi OpenGL - doppelte Genauigkeit Double anstatt Single (https://www.delphipraxis.net/126128-opengl-doppelte-genauigkeit-double-anstatt-single.html)

brechi 18. Dez 2008 14:28


OpenGL - doppelte Genauigkeit Double anstatt Single
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich verwende die Unit dglOpengl und zur Translation etc. immer nur glTranslateD glVertex3d usw.
Trotzdem ist die Darstellung im Gegensatz zu meienr GDI implementierung mit Matrizen scheisse (siehe Bild)

Wenn ich meine GDI implementation auf Single umstelle siehts genauso aus. Muss man in Ogl irgednwo einstellen, dass in Double berechnet wird?
Danke

Medium 18. Dez 2008 16:42

Re: OpenGL - doppelte Genauigkeit Double anstatt Single
 
Wenn mich nicht alles irrt, arbeiten aktuelle Grafikchips grundsätzlich nur mit einfacher Genauigkeit. Dies war zumindest noch vor so ca. 1,5 Jahren der generelle Fall, es mag durchaus sein dass sich da was geändert hat. Davon ausgehen tu ich allerdings nicht.

Edit: Um dein Problem zu lösen könntest du evtl. deine Vektoren derart skalieren, dass sie in höher auflösende Bereiche von Single fallen. Ich vermute dass sie entweder extrem klein, oder extrem groß sind.

Florian H 18. Dez 2008 17:18

Re: OpenGL - doppelte Genauigkeit Double anstatt Single
 
Ja, du scheinst in einem völlig falschen Maßstab zu zeichnen ... mach doch einfach alles um 3 Größenordnungen größer und geh' dafür mit der Kamera ein bisschen weg ;)

turboPASCAL 19. Dez 2008 00:27

Re: OpenGL - doppelte Genauigkeit Double anstatt Single
 
Zitat:

Zitat von Florian H
Ja, du scheinst in einem völlig falschen Maßstab zu zeichnen ... mach doch einfach alles um 3 Größenordnungen größer und geh' dafür mit der Kamera ein bisschen weg ;)

Dito.

brechi 19. Dez 2008 09:00

Re: OpenGL - doppelte Genauigkeit Double anstatt Single
 
Tja es handelt sich dabei um Gauss-Krüger Koordinaten die ich ungern anders verwalten will. Das muss ich dann wohl für Opengl ändern (bzw. einfach in glVertex einen Wert abziehen + multiplizieren). damit würde das dann wahrscheinlich gehen finds aber net gerade schön :/

http://de.wikipedia.org/wiki/Gau%C3%...rdinatensystem

turboPASCAL 19. Dez 2008 10:26

Re: OpenGL - doppelte Genauigkeit Double anstatt Single
 
Du kannst doch die Ergebnisste deiner Berechnung mit dem Factor X multimikatiplieren um somit eine bessere Darstellung zu erreichen.
Das Ändert doch nichts an dem Endergebnis. :gruebel:

brechi 19. Dez 2008 11:09

Re: OpenGL - doppelte Genauigkeit Double anstatt Single
 
Ich könnte auch einen Offset abziehen. Genau das mach ich mittels glTranslated.
Das blöde ist ich habe mehrere verschiedene Grafikengines die dahinterstecken (GDI, GDI+, OpenGl etc.).

Für meine eigene GDI implemntierugn (mit Matrizen) funzt das ohne Probleme:

Translate(MitteBildschirm)
Scale(Zoom)
Translate(OffsetPosition)
Zeichne(AbsoluteGKKoordinate)

Jetzt müsste ich das wieder in Opengl umbauen :/ Um grunde ist Zeichne(AbsoluteGKKoordinate-OffsetPosition) das was wohl dafür verantwortlich ist. Ich teste mal ein bisl.

Medium 19. Dez 2008 23:40

Re: OpenGL - doppelte Genauigkeit Double anstatt Single
 
Ich verstehe immer noch nicht, wo das Problem dabei liegt die Vektoren für die Darstellung geeignert zu skalieren.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:56 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz