Registriert: Fr Aug 29, 2003 16:34 Beiträge: 34 Wohnort: Black Forrest
Ich weiss nicht ob es die richtige Rubrik ist.
Wollte gerne mal wissen wie man sich eine Einheit in OpenGL vorstellen kann ?
Sicher könnte man festlegen das die Einheit in OpenGL nun als 1 mm oder 1 cm oder 1 Meter oder sonstwas verwenden könnte. Da man die "Welt" selber erstellt.
Aber gibts da irgendwelche Richtlinien das man daran halten sollte ? Oder spielt das keine Rolle ?
Danke schon mal für euer Antworten.
_________________ Mfg[-Darty-] - Gehörlose Delphianer gibt es selten -
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
OpenGL (und im Normalfall alle 3D-APIs) sind einheitenlos, es bleibt also vollkommen dir überlassen wie du das regelst. I.d.R. empfiehlt sich allerdings 1 OpenGL-Einheit = 1 Meter, sobald man z.B. ne Physikengine mit ins Spiel bringt, weil man da ja auch Konstanten wie die Schwerkraft hat, die auch als Meter angegeben werden. Ansonsten ists aber belanglos.
Registriert: Fr Aug 29, 2003 16:34 Beiträge: 34 Wohnort: Black Forrest
Ja so ähnlich dachte ich es mir schon. Aber ich werde gerne die Empfehlung von Dir nehmen das ich mich nun daran orientiere das 1 OpenGL-Einheit = 1 Meter sein wird.
Und wenn ich ein Millimeter möchte dann sind das eben 0.001 OpenGL Einheit.
Aber denke je nach Anwendung kann man es machen wie man es möchtet.
Danke Dir für die Antwort
_________________ Mfg[-Darty-] - Gehörlose Delphianer gibt es selten -
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Du sollstest dir dazu erst überlegen, was du darstellen möchtest. Wenn du Baupläne hast, die in mm angegeben sind, dann solltest du mm als Referenz benutzen. Wenn du Landkarten modellieren möchtest, kannst du m oder 10m oder 100m oder... benutzen.
Die Antowrt von Sascha gehts auch dahin. Also net einfach so festlegen, sondern erst überlegen, was du machen willst.
PS: Bin mir gearde net sicher...glaube aber gelesen zu haben, dass OpenGL ne minimale Auflösung hat. Kann da mal jemand was dazu schreiben? Weil wenn ich 1OGLEinheit = 1Km mache und dann sachen im mm Maßstab bastle, dann macht OpenGL ja irgendwann auch net mahr mit, oder!?
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Flash hat geschrieben:
PS: Bin mir gearde net sicher...glaube aber gelesen zu haben, dass OpenGL ne minimale Auflösung hat. Kann da mal jemand was dazu schreiben? Weil wenn ich 1OGLEinheit = 1Km mache und dann sachen im mm Maßstab bastle, dann macht OpenGL ja irgendwann auch net mahr mit, oder!?
Da hast du was Falsches aufgeschnappt. Sowas wie ne "Auflösung" gibts unter OpenGL nicht. Du kannst ja alles selbst festlegen, Maßeinheiten und dann halt auch das Frustum und damit die Z-Auflösung (die einzige Auflösung unter OpenGL).
Registriert: Sa Jan 04, 2003 21:23 Beiträge: 674 Wohnort: Köln
irgendwo sollte aber auch eine Grenze der "float"-Datentypen sein die einem, wenn man extrem (wieviel weiß ich nicht) ungünstige Werte nimmt oft Rundungsfehler erzeugt
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Das hat ja aber nichts mit OpenGL an sich zu tun. Gibt ja auch die Double-Befehle, aber wie genau gerechnet wird hält halt (teilweise) von der Implementation ab, und wir sprechen hier von Maßeinheiten im Bereich 0.0001 und größer, wo Rundungsfehler kaum problematisch sind.
Mitglieder in diesem Forum: Bing [Bot] und 13 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.