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

Aktuelle Zeit: Mi Jul 16, 2025 21:36

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



Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: GeoSphere
BeitragVerfasst: Do Feb 03, 2005 22:16 
Offline
DGL Member

Registriert: Mi Dez 15, 2004 20:36
Beiträge: 454
Wohnort: Wien, Österreich
Hat jemand von GeoSphere Primitiveart gehört ? Ich habe vor mir eine Array von 162 Vertex , die eine GeoSphere darstellen. Nun, das Problem ist, dass ich nicht weiss wie ich diese Array rendern sollte.
Hilfe?

_________________
"Meine Mutter sagt : 'Dumm ist der, der Dummes tut'." - Forrest Gump


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Feb 03, 2005 23:42 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Geosphere...hm...das waren doch die Dinger die nur aus gleichgroßen Dreiecken bestehen oder? Nun die kannst du als fortlaufenden TriangleStrip rendern wenn ich mich recht erinnere. Wo liegt das Problem?

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


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

Registriert: Mi Dez 15, 2004 20:36
Beiträge: 454
Wohnort: Wien, Österreich
Nun ja, so einfach ist es nicht. gl_points, gl_triangles, gl_triangle_strip,gl_triangle_fan oder sonst was bringt nur eine Ahnung was das sein sollte. Und ja , du hast recht , es sind nur gleichgroßen Dreiecken. Irgendwie sind die Vertex Werte anders zu verstehen / rendern. So etwa in der Art, von 0..n als gl_etwas, von n..m als gl_etwas usw.....oder so änlich.

_________________
"Meine Mutter sagt : 'Dumm ist der, der Dummes tut'." - Forrest Gump


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

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Hmm....also du hast die vertices schon? Dann sollte aber die darstellung als gl_Points zumindest eine Kugelform ergeben. Wenn dies net der Fall ist, würde ich mich fragen, was das für Vertexdaten sein sollen. Ne Kugel isses wahrscheinlich net. ;)

Ich glaube zu wissen, dass die GeoSpheres tatsächlich mittels TriangleStrip gerendert werden können. Wär ja blöd, wenn diese Eigenschaft net genutzt worden wäre...außer...woher hast du die Vertexdaten?

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


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

Registriert: Mi Dez 15, 2004 20:36
Beiträge: 454
Wohnort: Wien, Österreich
Also die Sache sieht ganz einfach so aus :

Code:
  1.  
  2. var
  3.      Sphere: array[0..161]of array[0..2]of Single = (
  4. (-0.525731, 0.000000, 0.850651),
  5. (-0.442863, 0.238856, 0.864188),
  6. (-0.295242, 0.000000, 0.955423),
  7. (-0.309017, 0.500000, 0.809017),
  8. (-0.162460, 0.262866, 0.951056),
  9. (0.000000, 0.000000, 1.000000),
  10. (0.000000, 0.850651, 0.525731),
  11. (-0.147621, 0.716567, 0.681718),
  12. (0.147621, 0.716567, 0.681718),
  13. (0.000000, 0.525731, 0.850651),
  14. (0.309017, 0.500000, 0.809017),
  15. (0.525731, 0.000000, 0.850651),
  16. (0.295242, 0.000000, 0.955423),
  17. (0.442863, 0.238856, 0.864188),
  18. (0.162460, 0.262866, 0.951056),
  19. (-0.681718, 0.147621, 0.716567),
  20. (-0.809017, 0.309017, 0.500000),
  21. (-0.587785, 0.425325, 0.688191),
  22. (-0.850651, 0.525731, 0.000000),
  23. (-0.864188, 0.442863, 0.238856),
  24. (-0.716567, 0.681718, 0.147621),
  25. (-0.688191, 0.587785, 0.425325),
  26. (-0.500000, 0.809017, 0.309017),
  27. (-0.238856, 0.864188, 0.442863),
  28. (-0.425325, 0.688191, 0.587785),
  29. (-0.716567, 0.681718, -0.147621),
  30. (-0.500000, 0.809017, -0.309017),
  31. (-0.525731, 0.850651, 0.000000),
  32. (0.000000, 0.850651, -0.525731),
  33. (-0.238856, 0.864188, -0.442863),
  34. (0.000000, 0.955423, -0.295242),
  35. (-0.262866, 0.951056, -0.162460),
  36. (0.000000, 1.000000, 0.000000),
  37. (0.000000, 0.955423, 0.295242),
  38. (-0.262866, 0.951056, 0.162460),
  39. (0.238856, 0.864188, 0.442863),
  40. (0.262866, 0.951056, 0.162460),
  41. (0.500000, 0.809017, 0.309017),
  42. (0.238856, 0.864188, -0.442863),
  43. (0.262866, 0.951056, -0.162460),
  44.  
  45. (0.500000, 0.809017, -0.309017),
  46. (0.850651, 0.525731, 0.000000),
  47. (0.716567, 0.681718, 0.147621),
  48. (0.716567, 0.681718, -0.147621),
  49. (0.525731, 0.850651, 0.000000),
  50. (0.425325, 0.688191, 0.587785),
  51. (0.864188, 0.442863, 0.238856),
  52. (0.688191, 0.587785, 0.425325),
  53. (0.809017, 0.309017, 0.500000),
  54. (0.681718, 0.147621, 0.716567),
  55. (0.587785, 0.425325, 0.688191),
  56. (0.955423, 0.295242, 0.000000),
  57. (1.000000, 0.000000, 0.000000),
  58. (0.951056, 0.162460, 0.262866),
  59. (0.850651, -0.525731, 0.000000),
  60. (0.955423, -0.295242, 0.000000),
  61. (0.864188, -0.442863, 0.238856),
  62. (0.951056, -0.162460, 0.262866),
  63. (0.809017, -0.309017, 0.500000),
  64. (0.681718, -0.147621, 0.716567),
  65. (0.850651, 0.000000, 0.525731),
  66. (0.864188, 0.442863, -0.238856),
  67. (0.809017, 0.309017, -0.500000),
  68. (0.951056, 0.162460, -0.262866),
  69. (0.525731, 0.000000, -0.850651),
  70. (0.681718, 0.147621, -0.716567),
  71. (0.681718, -0.147621, -0.716567),
  72. (0.850651, 0.000000, -0.525731),
  73. (0.809017, -0.309017, -0.500000),
  74. (0.864188, -0.442863, -0.238856),
  75. (0.951056, -0.162460, -0.262866),
  76. (0.147621, 0.716567, -0.681718),
  77. (0.309017, 0.500000, -0.809017),
  78. (0.425325, 0.688191, -0.587785),
  79. (0.442863, 0.238856, -0.864188),
  80. (0.587785, 0.425325, -0.688191),
  81. (0.688191, 0.587785, -0.425325),
  82. (-0.147621, 0.716567, -0.681718),
  83. (-0.309017, 0.500000, -0.809017),
  84. (0.000000, 0.525731, -0.850651),
  85. (-0.525731, 0.000000, -0.850651),
  86. (-0.442863, 0.238856, -0.864188),
  87. (-0.295242, 0.000000, -0.955423),
  88. (-0.162460, 0.262866, -0.951056),
  89. (0.000000, 0.000000, -1.000000),
  90. (0.295242, 0.000000, -0.955423),
  91. (0.162460, 0.262866, -0.951056),
  92. (-0.442863, -0.238856, -0.864188),
  93. (-0.309017, -0.500000, -0.809017),
  94. (-0.162460, -0.262866, -0.951056),
  95. (0.000000, -0.850651, -0.525731),
  96. (-0.147621, -0.716567, -0.681718),
  97. (0.147621, -0.716567, -0.681718),
  98. (0.000000, -0.525731, -0.850651),
  99. (0.309017, -0.500000, -0.809017),
  100. (0.442863, -0.238856, -0.864188),
  101. (0.162460, -0.262866, -0.951056),
  102. (0.238856, -0.864188, -0.442863),
  103. (0.500000, -0.809017, -0.309017),
  104. (0.425325, -0.688191, -0.587785),
  105. (0.716567, -0.681718, -0.147621),
  106. (0.688191, -0.587785, -0.425325),
  107. (0.587785, -0.425325, -0.688191),
  108. (0.000000, -0.955423, -0.295242),
  109. (0.000000, -1.000000, 0.000000),
  110. (0.262866, -0.951056, -0.162460),
  111. (0.000000, -0.850651, 0.525731),
  112. (0.000000, -0.955423, 0.295242),
  113. (0.238856, -0.864188, 0.442863),
  114. (0.262866, -0.951056, 0.162460),
  115. (0.500000, -0.809017, 0.309017),
  116. (0.716567, -0.681718, 0.147621),
  117. (0.525731, -0.850651, 0.000000),
  118. (-0.238856, -0.864188, -0.442863),
  119. (-0.500000, -0.809017, -0.309017),
  120. (-0.262866, -0.951056, -0.162460),
  121. (-0.850651, -0.525731, 0.000000),
  122. (-0.716567, -0.681718, -0.147621),
  123. (-0.716567, -0.681718, 0.147621),
  124. (-0.525731, -0.850651, 0.000000),
  125. (-0.500000, -0.809017, 0.309017),
  126. (-0.238856, -0.864188, 0.442863),
  127. (-0.262866, -0.951056, 0.162460),
  128. (-0.864188, -0.442863, 0.238856),
  129. (-0.809017, -0.309017, 0.500000),
  130. (-0.688191, -0.587785, 0.425325),
  131. (-0.681718, -0.147621, 0.716567),
  132. (-0.442863, -0.238856, 0.864188),
  133. (-0.587785, -0.425325, 0.688191),
  134. (-0.309017, -0.500000, 0.809017),
  135. (-0.147621, -0.716567, 0.681718),
  136. (-0.425325, -0.688191, 0.587785),
  137. (-0.162460, -0.262866, 0.951056),
  138. (0.442863, -0.238856, 0.864188),
  139. (0.162460, -0.262866, 0.951056),
  140. (0.309017, -0.500000, 0.809017),
  141. (0.147621, -0.716567, 0.681718),
  142. (0.000000, -0.525731, 0.850651),
  143. (0.425325, -0.688191, 0.587785),
  144. (0.587785, -0.425325, 0.688191),
  145. (0.688191, -0.587785, 0.425325),
  146. (-0.955423, 0.295242, 0.000000),
  147. (-0.951056, 0.162460, 0.262866),
  148. (-1.000000, 0.000000, 0.000000),
  149. (-0.850651, 0.000000, 0.525731),
  150. (-0.955423, -0.295242, 0.000000),
  151. (-0.951056, -0.162460, 0.262866),
  152. (-0.864188, 0.442863, -0.238856),
  153. (-0.951056, 0.162460, -0.262866),
  154. (-0.809017, 0.309017, -0.500000),
  155. (-0.864188, -0.442863, -0.238856),
  156. (-0.951056, -0.162460, -0.262866),
  157. (-0.809017, -0.309017, -0.500000),
  158. (-0.681718, 0.147621, -0.716567),
  159. (-0.681718, -0.147621, -0.716567),
  160. (-0.850651, 0.000000, -0.525731),
  161. (-0.688191, 0.587785, -0.425325),
  162. (-0.587785, 0.425325, -0.688191),
  163. (-0.425325, 0.688191, -0.587785),
  164. (-0.425325, -0.688191, -0.587785),
  165. (-0.587785, -0.425325, -0.688191),
  166. (-0.688191, -0.587785, -0.425325));
  167.  


Zitat:
Dann sollte aber die darstellung als gl_Points zumindest eine Kugelform ergeben.


Das tut es aber auch. Ah die Daten sind aus dem Quellcode von Quake II :D 8) .

_________________
"Meine Mutter sagt : 'Dumm ist der, der Dummes tut'." - Forrest Gump


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Feb 04, 2005 14:45 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Dann sollte doch dort auch stehn wie die gerendert werden sollen. :?

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


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

Registriert: Mi Dez 15, 2004 20:36
Beiträge: 454
Wohnort: Wien, Österreich
Eigentlich nicht...Oder nicht dass ich es wusste... :x
Auf jedem Fall, es ist eine GeoSphere mit 4 Segments. (Segment = ein Parameter bei GeoSphere, je grösser desto mehr Dreiecken, Segment = 1 VertexCount = 12, ....,Segment = 4 VertexCount = 162)

_________________
"Meine Mutter sagt : 'Dumm ist der, der Dummes tut'." - Forrest Gump


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Feb 07, 2005 00:20 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 13, 2002 12:18
Beiträge: 1063
Wenn du die GeoSphere Vertex Daten nicht selbst generierst, tust du dir auch schwer, sie zu zeichnen, da du keine Ahnung davon hast, in welcher Reihenfolge die Schnittpunkte vorliegen (um Dreiecke zu zeichnen, musst du ja jeweils die drei "richtigen" Punkte aus der Vertexsuppe haben, und nicht drei x-beliebige).

Eine GeoSphere lässt sich aber recht einfach durch Subdivision der Oberflächendreiecke eines Tetraeders oder eines Octaeders oder (am Besten) eines Icosaeders bilden. Das würde ich in deinem Fall auch tun, denn da die Reihenfolge deiner Vertexdaten im Array ohnehin durch den verwendeten Algorithmus, mit dem diese generiert wurden, implizit bereits festgelegt ist, kannst du gleich alles selbst machen.

_________________
Viel Spaß beim Programmieren,
Mars
http://www.basegraph.com/


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


Wer ist online?

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