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

Aktuelle Zeit: Fr Jul 18, 2025 12:31

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



Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Sa Nov 20, 2004 18:51 
Nabend,

bin gerade dabei eine relativ komplexe Voxel-Engine zu schreiben, stehe jedoch vor dem Problem, dass heutige CPUs einfach zu langsam zu sein scheinen. Ich habe jetzt schon einen Monat lang mit inline-assembler und SSE herumgeschlagen, aber besonders die Filter drücken in Software enorm an der Performance :-(

Da man mit GLSL ja die Grafikkarte programmieren kann, hätte ich die Idee einfach deren Funktionen zu nutzen, um die Daten die das Shader-Programm könnte man dynamisch-gerenderte texturen verwenden.

D.h. was ich eigentlich machen will ist folgendes:
Scene-Daten -> Texturen (gibts einen besseren Weg mit dem Shader-Programm zu kommunizieren)
Texturen -> Number crunching -> Screen

Da es so aussieht als ob die Grafikkarten relativ viele High-Level maths sachen können (Vectoren und so..) scheinen die neuen grakas bestens geeignet zum berechnen der scenen.
Arbeitsteilung wäre natürlich der Hammer, hälfte CPU, hälfte GPU ;-)

Würde dies Funktionieren ("Shareder Model 3" Karten only), ich hab leider derzeit noch sehr wenig praktische Erfahrung Shadern und nur ein paar wenige theorethische Tutorials gelsenen.

Sorry ich weiß das ganze klingt sehr nach newbie, aber wer fängt nicht von vorne an :-(

Mfg Clemens

PS: Eine grundsatzfrage zu shadern hätte ich noch. Anhand der beispiele konnte ich entnehmen, dass anscheinend das shader-programm nur für einen sehr kleinen Teil einer textur angewendet wird.
Läuft die main() vom shader für jeden Pixel einer Textur oder für jeden Pixel am Bildschirm?


Nach oben
  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Nov 20, 2004 23:28 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 13, 2002 12:18
Beiträge: 1063
Zitat:
Läuft die main() vom shader für jeden Pixel einer Textur oder für jeden Pixel am Bildschirm?

Für jedes gerenderte Fragment, das wahlweise ein Pixel am Bildschirm, aber auch (mittel RTT oder einem folgenden glCopyTex(Sub)Image2D) einer Textur sein kann.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Nov 21, 2004 10:36 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jul 01, 2003 18:59
Beiträge: 887
Wohnort: (The Netherlands)
Programmiersprache: fpc/delphi/java/c#
You should be able to use that, i even know people using it for processing sound data.

_________________
http://3das.noeska.com - create adventure games without programming


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Hört sich gut an!
BeitragVerfasst: So Nov 21, 2004 11:19 
Hmm, hört sich wirklich gut an - Danke für eure Hilfe!
Werd mich gleich einarbeiten, mal sehen was es bringt...

Ein paar Fragen häte ich allerdings noch, dann geb ich ruhe ;-) :

* Gibt es eine einfache möglichkeit zwischen den shader-programmen auf einen gemeinsamen Datensatz zuzugreifen.
Also z.B. ein großes Vector[]?
Natürlich könnte man das mit Texturen machen, aber ich schätze mal da ist der Overhead doch relativ groß, oder?

* Was ist der Unterschied zwischen Vertex und Pixelshadern. Ich hab mir euer Tutorial angesehen, aber der wirkliche Unterschied wird mir nicht ganz klar :-(. Kann man beide zur gleichen Zeit nutzen, oder teilen sich die chip-funktionen und werden hintereinander ausgeführt?

Danke vielmals für eure Hilfe, mfg Clemens


Nach oben
  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Nov 21, 2004 12:14 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jul 01, 2003 18:59
Beiträge: 887
Wohnort: (The Netherlands)
Programmiersprache: fpc/delphi/java/c#
here is a site you should take a look at: http://www.gpgpu.org/

_________________
http://3das.noeska.com - create adventure games without programming


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


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.007s | 15 Queries | GZIP : On ]