Bei allen Fragen zu Shadern, dh dem programmierbaren Teil der GPU-Pipeline. Sprachspezifische Shader-Fragen finden Sie auch in den Tags [glsl] und [hlsl].
Ich habe einen FPS-Messcode in WebGL eingerichtet (basierend auf dieser SO-Antwort ) und einige Merkwürdigkeiten mit der Leistung meines Fragment-Shaders entdeckt. Der Code gibt nur ein einzelnes Quad (oder besser gesagt zwei Dreiecke) auf einer Leinwand von 1024 x 1024 wieder, sodass die ganze Magie im Fragment-Shader geschieht. Betrachten Sie …
Im Allgemeinen ist das Verzweigen in Shader keine gute Idee. Aber jetzt habe ich einen Shader mit einer Bedingung, die in Bezug auf den gesamten Draw-Aufruf konstant ist. Die ausgeführte Verzweigung ist also für einen Draw-Aufruf immer dieselbe. Ist eine solche Verzweigung immer noch teurer als die Verwendung mehrerer Shader …
Ich bin neu in Shadern und weiß, dass Sie mit gl_FragColor Pixel färben können, aber manchmal gibt es Folgendes: vec2 uv = gl_FragCoord.xy / screenSize; // or resolution or smthn depends on the implementation Wenn gl_FragCoord wie Pixelkoordinaten ist, was bekommt UV ? Warum wird es oft in GLSL gemacht? …
Ich lerne etwas über normales Mapping. Ich habe verstanden, dass RGB-Werte in XYZ konvertiert werden, aber meine Frage ist, wie sie konvertiert werden und warum die normale Karte blau und lila ist.
Ich entdeckte, dass einige Engines abgeleitete Karten anstelle von normalen Karten im Tangentenraum verwenden . Nach einigem Lesen scheint es eine wirklich großartige Möglichkeit zu sein, Tangentenraumnormalen zu ersetzen, aber gibt es einige Nachteile, wenn man sie verwendet? Warum immer noch Tangentenraumnormalen verwenden? Kann man sowohl Vor- als auch Nachteile …
Ich frage mich, wie ich eine dynamische Schleifenfunktion am besten in einen Shader integrieren kann. Erstens scheinen dynamische Arrays nicht möglich zu sein. Ist es also besser, ein Array mit maximaler Größe zu erstellen und nur einen Teil davon zu füllen oder Arrays mit vordefinierten Größen zu definieren? Was ist …
Das Rendern der Szene umfasst normalerweise mehr als ein Shader-Programm, das in meinem Fall alle dieselben Attribute verwenden und zumindest einige der Uniformen gemeinsam nutzen. Damit sie richtig funktionieren, gehe ich derzeit auf Nummer sicher, dh ich binde die Attribute neu und erhalte bei jedem Wechsel zwischen Shader-Programmen die entsprechenden …
Wenn ich viele Texturen (z. B. 5+ Karten) an dieselbe Textureinheit gebunden habe, funktioniert dies für den Cache schlechter als wenn ich nur 2 oder 3 Texturen hätte?
Um eine Szene mit einer einzelnen Lichtquelle unter Verwendung von Phong-Schattierung zu rendern, kann die endgültige Farbe jedes in den Fragment-Shader übergebenen Fragments basierend auf den Umgebungs- / diffusen / spiegelnden Komponenten sowohl des Materials als auch der Lichtquelle berechnet werden. Dies kann leicht erweitert werden, um mehrere Lichtquellen aufzunehmen, …
Ich weiß, wie Shadow Mapping funktioniert, aber ich bekomme nicht die Ursache für Schattenakne! Kann mir jemand auf einfache Weise die Ursache von Schattenakne sagen und wie hängt sie mit der Auflösung der Tiefenkarte zusammen?
Ich versuche, ein Mikrofacetten-BRDF in meinem Raytracer zu implementieren, stoße jedoch auf einige Probleme. Viele der Artikel und Artikel, die ich gelesen habe, definieren den Teilgeometrie-Term als Funktion der Ansicht und der Halbvektoren: G1 (v, h). Bei der Implementierung habe ich jedoch folgendes Ergebnis erhalten: (Die untere Reihe ist dielektrisch …
Ich versuche, eine positionsbasierte Stoffsimulation mithilfe von Hardware-Tesselation zu implementieren. Dies bedeutet, dass ich einfach ein Kontrollquad auf die Grafikkarte hochladen und dann Tesselation und Geometrieschattierung verwenden möchte, um die Knoten im Stoff zu erstellen. Diese Idee folgt dem Papier: Huynh, David, "Stoffsimulation mit Hardware-Tessellation" (2011). These. Rochester Institute of …
Wie funktioniert der Cache mit kachelbasiertem Rendering? Gibt es Tipps, wie Sie die Cache-Trefferquote verbessern können? (Wenn beispielsweise Kacheln horizontal verarbeitet werden und ich vertikale Dreiecksegmente mit derselben Textur habe, funktioniert dies für den Cache schlechter als wenn ich Dreiecke horizontal auslegen würde?)
Beim Lesen von Artikeln finde ich häufig Oct-Tree-Implementierungen von Geometriedarstellungen, um die Daten zu sortieren. Wenn ich jedoch über das Problem nachdenke, scheinen Hash-Tabellen insgesamt besser zu sein. Hash-Tabellen bieten für die meisten Anwendungen bessere Durchschnitts- und schlechtere Szenarien: Wenn Sie beispielsweise einen Okt-Baum durch Raytracing verfolgen, werden Sie durch …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.