Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jun 20, 2025 14:19

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Mi Jul 04, 2012 23:59 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Hi,

ich steh grad um die Uhrzeit ein wenig auf dem Schlauch..
Für meine Objekte möchte ich gerne Transform Handles (z.B. zum verschieben auf einer Achse) wie in jedem gängigen 3D Editor einblenden.

Die sollen aber egal wie nah oder fern die Kamera ist immer gleich groß sein - wie mache ich das?

Theoretisch dachte ich grad spontan "Ja, einfach die nur die Rotation der Kamera bei der Matrix berücksichtigen", aber das kann ja nicht ganz stimmen..

Daher, kann mir kurz wer auf die Sprünge helfen?

Danke
Aya


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Do Jul 05, 2012 12:52 
Offline
DGL Member

Registriert: Fr Mai 11, 2012 13:25
Beiträge: 229
Programmiersprache: c++, c, JavaScript
Dass Objekte unabhängig von der Kameraposition immer gleich groß sind, bekommt man leicht mit dem Orthomodus hin. (glOrtho(...);)

_________________
"Pixel, ich bin dein Vater."
-Darf Shader


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Do Jul 05, 2012 14:28 
Offline
DGL Member

Registriert: Fr Okt 03, 2008 13:32
Beiträge: 367
Man kann auch einfach abhängig von der Entfernung zur Kamera skalieren. Ich denke da an die Pfeile bei Blender. Die haben ja einen Punkt von dem sie ausgehen. Und die Kameraposition ist auch bekannt. Also einfach die Länge der Differenz der beiden Punkte bestimmen, noch einen Faktor davor und damit die Pfeile skalieren => fertig.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Do Jul 05, 2012 14:45 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Schläfer hat geschrieben:
Man kann auch einfach abhängig von der Entfernung zur Kamera skalieren. Ich denke da an die Pfeile bei Blender. Die haben ja einen Punkt von dem sie ausgehen. Und die Kameraposition ist auch bekannt. Also einfach die Länge der Differenz der beiden Punkte bestimmen, noch einen Faktor davor und damit die Pfeile skalieren => fertig.


So hatte ich es früher mal gemacht und soweit ich mich erinnere diese Lösung als sehr suboptimal in Erinnerung (weil u.A. die Gizmos/Anfasser nicht immer in der Bild Mitte sind, sondern auch mal am Rand sein können).

Mein aktueller Ansatz den ich geplant habe heute Abend zu testen geht in die Richtung, ich transformiere den Mittelpunkt des Gizmos nach 2D (á la gluProject) und nehme dann den punkt und transformiere ihn wieder (glUnproject) in einer festen ziefe zurück in den Raum - dadurch sollte der Gizmo egal wo er ist immer gleich groß sein. Hoffe ich zumindest :)

Aber falls jemand geschicktere Ideen hat, gerne her damit!

Aya


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 11 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.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 16 Queries | GZIP : On ]