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

Aktuelle Zeit: Fr Jul 18, 2025 19:23

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



Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Rückgabe vom Shader
BeitragVerfasst: Fr Sep 04, 2009 16:21 
Offline
DGL Member

Registriert: Di Mai 24, 2005 16:43
Beiträge: 710
Hallo,

Es ist ja bekanntermaßen möglich Shader auch für anderen Berechnungen zu "missbrauchen". Ich dachte da gerade zum Beispiel an die Durchführung von Kollisionserkennungen.
Wenn ich nun einen Shader hab, der mir beispielsweise die Kollision von Kugel und Strahl berechnet, muss ich ja irgendwie wieder zurückgeben können, ob eine Kollision erfolgt ist.
Die einzige Möglichkeit, die mir hierfür einfällt, wäre in eine Textur zu rendern und die Ergebnisse in die Pixel zu kodieren und dann wieder auszulesen. Gibt es noch andere?
Lohnen sich 1x1 Texturen oder wie stellt man das geschickt an?

mfg


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Sep 04, 2009 17:57 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
Möglichkeiten sind:
1. CUDA benutzen ;)
2. wie schon gesagt: in eine Textur rendern
3. Transform-Feedback (quasi: "in einen VBO rendern")

Ob 1x1 Texturen sinnvoll sind kann man nicht so leicht sagen. Bei nur einem Pixel wird auch der Fragmentshader nur einmal aufgerufen. Folglich bringt dir die parallele GPU nicht viel. Wenn du mehrere Pixel/Fragmente übereinander renderst bekommst du auch Probleme, weil alle Pixel an die gleiche Speicherstelle geschrieben werden, was natürlich nicht gleichzeitig geht.
Vermutlich willst du aber nicht nur eine Kugel und einen Strahl testen sondern ein paar tausend, oder mehr. Jetzt könnte man z.B. in eine 128x128 Textur rendern, jeder Pixel steht dabei für das Ergebnis eines Tests. Ob es sinnvoll ist ständig eine 128x128 Textur hin und her zu schieben musst du selbst wissen. Man kann ja auch Ergebnisse zusammenfassen: Eine Grafikkarte kann, wenn MipMaps existieren, extrem schnell Texturen vergrößern/verkleinern!

_________________
Yeah! :mrgreen:


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


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.006s | 16 Queries | GZIP : On ]