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

Aktuelle Zeit: Mi Jul 16, 2025 20:21

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



Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: am schnellsten zu renderndes objekt?
BeitragVerfasst: Fr Feb 27, 2004 03:05 
Offline
DGL Member

Registriert: Fr Feb 27, 2004 02:59
Beiträge: 13
Hallo,

Ich bin aboluter OpenGL beginner.

ich brauche OpenGl nur um Voxeldaten in einer Isometrischen Perspektive darzustellen.

als Voxel würde ich am liebsten eine Kugel verwenden, was wahrscheinlich ein zu komplexes objekt ist, also wahrscheinlich würfel.

nun habe ich aber irgendwo (http://astronomy.swin.edu.au/~pbourke/m ... heremodel/)gelesen das spheres bei einem raytracer am schnellsten zu rendern sind?

wie sieht das bei opengl aus?


greetings,

Max


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Feb 27, 2004 12:39 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Eine Echtzeit-3D-API wie OpenGL ist im Endeffekt nur durch die zugrundeliegende Hardware beschränkt. Moderne Grafikkarten (das verschiebt sich von Generation zu Generation) sind üblicherweise Füllraten- bzw. Dreieckslimitiert. Und da eine Kugel im Normalfall aus recht vielen Dreiecken besteht, würde eine komplette Voxellandschaft aus Kugeln (sofern diese rund aussehen sollen) ziemlich viele Dreiecke produzieren. Daher solltest du Kugeln nur dann verwenden, wenn deine Zielplattform recht modern ist. Neuere Karten (die High-End-Varianten, also Radeon9700> und GeForceFX5800>) sind in der Lage an die 200 Millionen Dreiecke pro Sekunde zu rendern. Allerdings hängt das stark davon ab wie es gemacht wird. Solche hohen Zahlen erreicht man im Normalfall nur wenn man wenige Materialwechsel macht, auf Beleuchtung verzichtet, die Daten unverändert im VRAM liegen und man auf Shader verzichtet.
Also alles eine Frage deiner Zielplattform bzw. Anforderungen. Ich persönlich würde für einen Voxelrenderer keine Kugeln verwenden. Alternativ könnte man auf modernen Grafikkarten übrigens noch zu 3D-Texturen greifen um Voxel zu simulieren, allerdings ist das eher suboptimal.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Feb 27, 2004 13:08 
Offline
DGL Member

Registriert: Fr Feb 27, 2004 02:59
Beiträge: 13
Ich besitze einen Pentium 4 3.0 GHz mit Ati Radeon 9800XL,
Also schon recht modern.

Nun, mir ist klar dass ich keine 6DOF 3d Voxelengine mit perspective nur mit voxelplatzhaltern in opengl erstellen kann, da müsste ich mir schon was besseres einfallen lassen, bei landschaften funktioniert diese Polygonisierungsmethoden ja auch recht gut.

Ich dagegen will eine Isometrie Voxel Engine verwirklichen wobei jedes objekt aus Voxeln besteht, ...also immer die gleiche Anzahl von Voxeln pro Frame, was eigtl. schneller zu rendern sein müsste, als eine sehr lang in die ferne ausgedehnte landschaft.

Ich denke ich werde das mal testen müssen...

P.S. achja sorry, dass ich das im falschen Forum gefragt habe.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Feb 27, 2004 14:19 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Metaballs könnten da hilfreich sein: http://www.delphigl.com/forum/viewtopic.php?t=2016


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Feb 27, 2004 21:22 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 13, 2002 12:18
Beiträge: 1063
Stimmt, der "marching Cubes" Algorithmus ist auch so eine Art Voxeldarstellung.

@Kugeln:
Die 2D Projektion einer Kugel (also auf dem Bildschirm sichtbar) ist ein Kreis - und einen Kreis kannst du mit einem einzigen Aufruf von glVertex3f darstellen (automatisch in Abhängigkeit vom Z-Wert richtig skaliert - und schön rund), wenn du eine moderne Grafikkarte mit einer ordentlichen Unterstützung von GL_ARB_point_parameters und hast - noch schneller geht's wahrscheinlich gar nicht, da du zum Senden der Vertexdaten auch VBOs verwenden kannst - und schon auf der Riva ZX (dem Vorläufer der TNT) konnte man damit beeindruckende Demos schreiben - wäre interessant, was dabei herauskommt, wenn man damit ein komplettes Voxelsystem implementiert.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Feb 28, 2004 01:10 
Offline
DGL Member

Registriert: Fr Feb 27, 2004 02:59
Beiträge: 13
Danke für die Tipps.

Ich bin gerade dabei ein im hintergrund laufendes voxelsystem zu programmieren, mit modifizierfunktionen, voxelobjekten etc.

ich werde vorläufig vermutlich erst einmal GLScene verwenden, da ich mich da um einiges nicht kümmern muss. Wenn es darunter läuft, also die Funktionsfähigkeit meiner vorgeschalteten Voxelverarbeitung erwiesen ist, werde ich mich wieder dem puren openGL widmen,
ich halte euch auf dem laufenen.


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: Google [Bot] 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:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 15 Queries | GZIP : On ]