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

Aktuelle Zeit: So Jun 02, 2024 13:35

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



Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Mo Okt 14, 2002 00:04 
Folgendes, also Delphi Coden kann ich... nur mit Grafik habe ich mich noch nie so richtig beschäftigt.

Ich wollte jetzt aber ein Programm machen, mit dem ich ein bestimmtes 3d Format lesen kann und das / die Obbjekte anzeigen lassen kann.

Die Daten bekomme ich in folgenden Format der Datei:
Code:
  1. [00000244]   Chunk ID: GEOM,  Size: 01020 (next chunk: [00001272]),  Version: 200
  2.  
  3. [00000256]     Flags: 4 (GC_TRIANGLES)  Area: 60.500000 Vertex Count: 24 Triangle Count: 12
  4.  
  5. [00000272]     Index Count: 36  Face Normal Count: 12  Max Influences: 0
  6.  
  7.                ---- VERTEX POSITIONS ----
  8.  
  9. [00000284]     Vertex[00000]: [ 0.000000,  15.511347, -0.259075]   Texture Coord: [ 0.000000,  1.000000]
  10.  
  11. [00000304]     Vertex[00001]: [ 1.000000,  15.511347,  10.740925]   Texture Coord: [ 0.000000,  1.000000]
  12.  
  13. [00000324]     Vertex[00002]: [ 0.000000,  26.511347,  10.740925]   Texture Coord: [ 0.000000,  0.000000]
  14.  
  15. [00000344]     Vertex[00003]: [ 0.000000,  15.511347,  10.740925]   Texture Coord: [ 11.000000,  0.000000]
  16.  
  17. [00000364]     Vertex[00004]: [ 0.000000,  26.511347, -0.259075]   Texture Coord: [ 0.000000,  0.000000]
  18.  
  19. [00000384]     Vertex[00005]: [ 1.000000,  15.511347, -0.259075]   Texture Coord: [ 11.000000,  1.000000]
  20.  
  21. [00000404]     Vertex[00006]: [ 0.000000,  15.511347, -0.259075]   Texture Coord: [ 11.000000,  0.000000]
  22.  
  23.                ---- TRANGLE INDICES ----
  24.  
  25. [00000764]     Triangle[00000]: [00000, 16256, 00000]
  26.  
  27. [00000770]     Triangle[00001]: [00001, 00002, 00002]
  28.  
  29. [00000776]     Triangle[00002]: [00004, 00000, 00006]
  30.  
  31. [00000782]     Triangle[00003]: [00007, 00008, 00008]
  32.  
  33.                ---- VERTEX NORMALS ----
  34.  
  35. [00000836]     Vertex[00000]: [ 0.000000,  0.000000,  0.000000]
  36.  
  37. [00000848]     Vertex[00001]: [-1.000000,  0.000000,  0.000000]
  38.  
  39. [00000860]     Vertex[00002]: [-1.000000,  0.000000,  0.000000]
  40.  
  41. [00000872]     Vertex[00003]: [-1.000000, -1.000000,  0.000000]
  42.  
  43.                ---- TRIANGLE NORMALS ----
  44.  
  45. [00001124]     Triangle[00000]: [ 0.000000,  0.000000,  0.000000]
  46.  
  47. [00001136]     Triangle[00001]: [-1.000000,  0.000000,  0.000000]
  48.  
  49. [00001148]     Triangle[00002]: [-1.000000,  0.000000,  0.000000]


besteht nun eine Möglichkeit anhand diesen daten und OpenGL das Objekt darzustellen ?

Wenn ja, wie ? Also wenigstens ansatzweise wie....

Wäre neTT wenn mir da jemand weiterhelfen könnte, Danke !


Nach oben
  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Okt 14, 2002 05:54 
Offline
Fels i.d. Brandung
Benutzeravatar

Registriert: Sa Mai 04, 2002 19:48
Beiträge: 3827
Wohnort: Tespe (nahe Hamburg)
So wie das Format aussieht, muss es vermutlich geparst werden, außer Du hast ne besseren Ratschlag zur Hand. Wichtig ist, dass Du das ganze irgendwie in der Form in den Speicher bekommst.

TYPE TVertex = ARRAY[0..2] OF SINGLE;
TYPE TUV = Array[0..1] OF SINGLE;

Natürlich könnte man das auch in einem Record packen. Es gibt dann die möglichkeit bei OpenGL einen Zeiger auf einem Objekt zu übergeben, was sich hier nahezu perfekt anbietet.

glvertex3fv(@vertex[1]); z.B.

somit mußt Du dann die Daten aus dem Speicher nur noch "rendern". Schau Dir mal unsere MS3D-Übersetzung an, sollte einen guten Eindruck vermitteln, wie sowas gemacht werden kann.

Welches Datei-Format ist das eigentlich?

_________________
"Light travels faster than sound. This is why some people appear bright, before you can hear them speak..."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Okt 15, 2002 10:39 
Bei der ganzen sache geht es um ein Spiel : TRAINZ eine Modellbahnsimulation. Das benutzt die Auran JET Engine und hat das Dateiformat .im Es gibt dazu eine gute referenz wie das Dateiformat aufgebaut ist.
Mein Programm soll dann ein Modell Viewer werden mit dem man diese OBjekte ansehen kann.

Habe mich jetzt mal etwas in das Thema eingelsen, dürfte eigentlich nicht schwer werden, denn:
Vertex[00000]: [ 0.000000, 15.511347, -0.259075] Texture Coord: [ 0.000000, 1.000000]

Vertex[00000] ist der 1. vertex
dann folgen die xyz koordinaten wo der Vertex platziert ist. Und abschließend die Textur koordinaten XY der Textur.


Wie gesagt, in der programmierung von sowas habe ich keinerlei erfahrung. Hatte irgendwo was gesehen was die erstellung der Objekte für OpenGL verinfachen soll. Glaube hies "EasyVertex" oder so. eine unit mit funktionen die die übergabe der Daten an die Engine vereinfacht.
Weis jemand wie die Unit richtig heist und wo ich sie bekomme ?

Muss mal sehen wo ich die MS3D-Übersetzung finde. Werde es mir dann mal ansehen. Danke für den Tip.


Nach oben
  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Okt 15, 2002 21:46 
Hab mir heute mal die GlScene VCLs angesehen. Machen ja einen guten eindruck. Werde mich mal damit beschäftigen.

Weis jemand welche komponente oder funktion ich am besten verwende um meine eingelesenen daten an GlScene zu übergeben ?


Nach oben
  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Okt 16, 2002 13:07 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Sep 13, 2002 18:26
Beiträge: 42
Wohnort: Stuttgart
ICH würde kein glscene verwenden.. erstell lieber manuell nen Rendering context, is u.a. schneller (habs getestet :o) und lässt dir mehr möglichkeiten. dazu würde ich die opengl12.pas verwenden


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Okt 16, 2002 20:03 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Sep 13, 2002 18:26
Beiträge: 42
Wohnort: Stuttgart
btw: hat glscene eine integrierte collision detection ?


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 17 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.035s | 19 Queries | GZIP : On ]