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

Aktuelle Zeit: Do Jul 17, 2025 03:49

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



Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Auf einzelne Objekte zugreifen
BeitragVerfasst: Fr Feb 25, 2005 06:14 
Offline
DGL Member

Registriert: Mo Jan 24, 2005 15:55
Beiträge: 28
Wohnort: Biberach an der Riß
Hallo!
Ich verwende den 3ds Loader von Noeska. Also, ich lade meine Welt über eine einzelne 3ds DAtei. Nun würde ich gerne von einem einzelnen der so geladenen Objekte Position und Winkel verändern. Wie mache ich das?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Feb 25, 2005 09:14 
Offline
DGL Member

Registriert: Fr Jan 10, 2003 20:18
Beiträge: 88
Kenn mich mit 3ds-dateine nicht so aus, aber denke dass diese statisch sind. Also musst du für jedes Objekt ne 3ds anlegen und diese dann verschieben bevor sie gezeichnet werden.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: RE:Auf einzelne Objekte zugreifen
BeitragVerfasst: Fr Feb 25, 2005 11:13 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Jan 31, 2005 11:02
Beiträge: 432
Wohnort: Rheinlandpfalz
Hi,
man kannst nur die ganze 3ds-Datei rotieren, verschieben, scalieren.
Wie Shadow schon gesagt hat musst du es vor dem Rendervorgang translaten/rotaten.

...
gltranslatef(X,Y,Z);
glrotatef(winkel,X,Y,Z);

my3ds.Render;
...

Wenn du aber einzelne Teile deiner Welt rotieren willst, dann musst du entweder deine Welt aus mehreren 3ds-Dateien zusammenbauen, je nachdem, welche Teile du rotieren willst,

oder, die kompliziertere Tour: die veränderst deine 3ds-Datei zur Laufzeit.
NICHT EMPFEHLENSWERT !! (zu viel arbeit, zu viel Cpu aufwand...).

PS: Zeig es mal, wenns fertig ist. :wink:

_________________
http://texelviews.delphigl.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Feb 25, 2005 11:54 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Meine beiden Vorredner haben leider unrecht. Via dem array TAll3DSMesh.Mesh kann man auf alle Sub-Meshes der 3DS-Datei zugreifen, also auch einzeln rendern.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Feb 25, 2005 13:42 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Ich kann also auch statt meine gesammte 3DS Datei nur Teile davon rendern indem ich die entsprechenden Teile expliziet rendere?

Das is ja .... schön! :D

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Feb 25, 2005 17:03 
Offline
DGL Member

Registriert: Mo Jan 24, 2005 15:55
Beiträge: 28
Wohnort: Biberach an der Riß
Das stimmt! Nur leider habe ich über diese TAll3DSMesh.Mesh Eigenschaft keine möglichkeit gefunden die Position und die Winkel zu verändern.

Weis jemand wie ich mehrere 3ds Dateien laden, und dann die entsprechenden Positionen und Winkel verändern kann (wenns geht bitte mit Beispiel Code)?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Feb 25, 2005 18:38 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 14, 2004 18:56
Beiträge: 804
Wohnort: GER/OBB/TÖL-WOR/Greiling
mein tipp wäre da:

Code:
  1.  
  2. for i:= 0 to meshcount-1 do
  3.  begin
  4.    gltranslatef(x[i],y[i],z[i]);
  5.    glrotatef(winkel[i],rx[i],ry[i],rz[i]);
  6.     TAll3ds.Mesh[i].render;
  7.    gltranslatef(-x[i],-y[i],-z[i]);
  8.    glrotatef(winkel[i],-rx[i],-ry[i],-rz[i]);
  9.  end;
  10.  
  11.  
  12.  


aber ich habe noch nie mit 3ds gearbeitet..... :roll:

_________________
Bild

"User Error. Replace User and hit Continue."


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 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.008s | 14 Queries | GZIP : On ]