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

Aktuelle Zeit: Fr Mär 29, 2024 15:58

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



Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Re: Object verkleinern
BeitragVerfasst: Mo Aug 08, 2016 00:41 
Offline
Compliance Officer
Benutzeravatar

Registriert: So Aug 08, 2010 08:37
Beiträge: 460
Programmiersprache: C / C++ / Lua
Meinst du skalieren?

_________________
offizieller DGL Compliance Beauftragter
Never run a changing system! (oder so)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Object verkleinern
BeitragVerfasst: Mo Aug 08, 2016 08:29 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Nov 08, 2010 18:41
Beiträge: 769
Programmiersprache: Gestern
ja das kommt halt immer mal wieder vor wenn die Leute mit den älteren Matrix Funktionen zu viele einzel Schritte machen. Da kommt es halt ganz schnell mal dazu das nicht das rauskommt was man erwartet, wegen falscher Reihenfolge usw. Ich wuerde dir also erst einmal empfehlen die Werte fuer diese Funktion vorher zu berechnen und die Aufrufe zu reduzieren. Danach musst du einfach nur die Reihenfolge umgekehrt schreiben wie man denkt. Mal ein Beispiel

Code:
  1.  
  2. glTranslatef(Position) //3. Objekt wird rotiert und dann wird das rotierte Objekt skaliert, danach wird alles noch einmal verschoben
  3. glScalef(Groesse) //2. Objekt wird rotiert und dann wird das rotierte Objekt skaliert
  4. glRotate(Rotation)  //1. Objekt wird rotiert
  5. Render(Objekt) //((Objekt * Rotate) * Scale) * Translate
  6.  


Wenn du also zum Beispiel skalierte Objekte um ein gemeinsames Zentrum kreisen lassen willst, brauchtest du in etwa:
Code:
  1.  
  2.     glTranslate(MittelPunkt) //4. erst um den gemeinsamen Mittelpunkt verschieben
  3.     glRotate(Winkel) //3. Objekt um den Mittelpunkt Rotieren
  4.     glTranslate(Abstand) //2. um den Abstand zum Mittelpunkt verschieben
  5.     glScale(Groesse) //1. Objekt Skalieren
  6.  

_________________
Meine Homepage


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Object verkleinern
BeitragVerfasst: Mo Aug 08, 2016 17:14 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1276
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Ich würde die Position der Mesh merken, mit a, b, c, x, y, z.
Wen diese Positionen auf Null sind, befindet sich die Mesh wider am Ursprungsort.

In meiner Demo positioniere ich meine Mesh zufällig irgendwo, und diese geht immer wieder zum Null-Punkt zurück.

Vielleicht hilft dir diese einen Schritt weiter.
Der Anhang ist ein Lazarus-Programm.


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

_________________
OpenGL


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 34 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:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.014s | 13 Queries | GZIP : On ]