Als «compute-shader» getaggte Fragen

3
Wann ist ein Compute-Shader effizienter als ein Pixel-Shader für die Bildfilterung?
Bildfilterungsoperationen wie Unschärfen, SSAO, Blühen usw. werden normalerweise unter Verwendung von Pixel-Shadern und "Sammeln" -Operationen durchgeführt, wobei jeder Pixel-Shader-Aufruf eine Anzahl von Texturabrufen ausgibt, um auf die benachbarten Pixelwerte zuzugreifen, und den Wert eines einzelnen Pixels berechnet das Ergebnis. Dieser Ansatz hat eine theoretische Ineffizienz dahingehend, dass viele redundante Abfragen …

1
Warum ist bei der GPU-Programmierung Arbeitseffizienz erwünscht?
Ich habe den folgenden Artikel zur Durchführung eines parallelen Scans in CUDA gelesen: https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch39.html In dem Artikel wird ein Schwerpunkt darauf gelegt, dass der Scan "effizient arbeitet". Mit anderen Worten, ein GPU-Algorithmus sollte nicht mehr Additionen ausführen als ein CPU-Algorithmus, O (n). Die Autoren präsentieren zwei Algorithmen, einen "naiven", der …

1
Aufeinanderfolgende OpenGL Compute Shader-Aufrufe synchronisieren
Ich habe ein paar Compute-Shader, die in einer bestimmten Reihenfolge ausgeführt werden müssen und deren Ausgabe von vorherigen Eingaben abhängt. Im Idealfall muss ich niemals einen Pufferspeicher clientseitig kopieren und die gesamte Arbeit an der GPU ausführen. Angenommen, ich habe zwei Compute-Shader kompiliert und als program_oneund verknüpft program_two. Angenommen, ich …

1
Erstellen gemeinsamer Scheitelpunktnormalen auf der GPU
Es ist mir größtenteils gelungen, eine Implementierung von Marching Cubes von der CPU auf OpenGL-Compute-Shader zu portieren, aber ich habe mich noch nicht mit Normalen befasst und mich gefragt, wie ich am besten vorgehen kann. Meine Implementierung befasst sich speziell mit binär bewerteten Feldern (ich versuche, 3D-Fraktalfunktionen zu modellieren, die …

1
Compute Shader gegen CUDA / OpenCL
Ich habe erst kürzlich etwas über den Compute Shader gelernt und es sieht so aus, als hätte ich die gleiche Idee wie die parallele Programmierung, die Sie mit CUDA oder OpenCL machen würden, aber in der Shader-Pipeline. Wenn ich eine Million Würfel in einer Szene zeichnen möchte, sollte ich eine …

1
Schreiben in eine komprimierte Textur mit einem Compute-Shader ohne zusätzliche Kopien
Ich versuche herauszufinden, wie man am besten eine OpenGL-Textur mit einem Compute-Shader generiert. Bisher habe ich gelesen, dass Pixelpufferobjekte für nicht blockierende CPU-> GPU-Übertragungen geeignet sind und dass Compute-Shader Puffer lesen und schreiben können, unabhängig davon, wie sie gebunden sind. Im Idealfall möchte ich so viele Kopien wie möglich vermeiden. …


1
OpenGL Compute Shader generiert Dreiecksindizes: Wie erhalte ich die richtige Elementanzahl für glDrawElementsIndirect?
Ich habe eine Folge von Compute-Shadern, die ein indiziertes Netz erzeugen. Der letzte davon schreibt die generierten Indizes wie folgt: void addTriangle (uint i0, uint i1, uint i2) { uint ic = atomicCounterIncrement(indirectIndexCount); meshIndices[ic*3+0] = i0; meshIndices[ic*3+1] = i1; meshIndices[ic*3+2] = i2; } Nachdem das Netz generiert wurde, wird es …
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.