Als «glsl» getaggte Fragen

GLSL ist die OpenGL-Schattierungssprache. Verwenden Sie dieses Tag für Fragen, die sich speziell auf Shader beziehen, die in dieser Sprache geschrieben wurden. Verwenden Sie für allgemeine Shader-Fragen stattdessen [Shader].

6
Wie kann ich GLSL-Shader debuggen?
Beim Schreiben nicht-trivialer Shader (genau wie beim Schreiben eines anderen nicht-trivialen Codes) machen die Leute Fehler. [Bearbeiten] Ich kann aber nicht einfach debuggen wie jeder andere Code - Sie können nicht nur gdb anhängen oder das Visual Studio - Debugger , nachdem alle. Sie können nicht einmal printf debuggen, da …
45 opengl  glsl  debugging 

4
Freigeben von Code zwischen mehreren GLSL-Shadern
Ich finde mich oft dabei, Code zwischen mehreren Shadern einzufügen. Dies umfasst sowohl bestimmte Berechnungen oder Daten, die von allen Shadern in einer einzelnen Pipeline gemeinsam genutzt werden, als auch allgemeine Berechnungen, die alle meine Vertex-Shader benötigen (oder eine andere Phase). Das ist natürlich eine schreckliche Praxis: Wenn ich den …
30 glsl 

1
Warum sieht mein Perlin-Rauschen „blockig“ aus?
Ich habe versucht, Perlin Noise selbst zu implementieren, indem ich nur die Theorie verwendet habe (folgt flafla2.github.io/2014/08/09/perlinnoise.html). Leider konnte ich den Look des "originalen" Perlin Noise nicht erreichen. Was ist der Grund, warum der folgende Code eine blockartige Version von Perlin Noise darstellt? Was muss ich im Code verbessern / …
21 glsl  noise  artifacts 

1
Verwechselt mit PBR-Implementierungen
Ich entdecke die wundervolle Welt der Mathematik und stoße mit PBR und Benennung auf eine riesige Mauer. Daher habe ich ein paar Fragen: Soweit ich weiß, beschreibt BRDF, wie ein Material auf Licht reagiert (eingehendes direktes Licht und Reflexionen). Aber in "Cook-Torrance" sehe ich nichts über Reflexionen. Ich verstehe nicht, …
13 glsl  pbr 

1
Wann die perspektivisch korrekte Interpolation deaktiviert werden soll (keine Perspektive)
In GLSL ist die perspektivisch korrekte Interpolation von Scheitelpunktattributen die Standardeinstellung. Sie kann sie für bestimmte Scheitelpunktattribute mithilfe des nicht- perspektivischen Qualifikationsmerkmals deaktivieren . Abgesehen von Nachbearbeitungs-Shadern habe ich die perspektivisch korrekte Interpolation noch nie deaktiviert gesehen - gibt es andere Anwendungsfälle? Macht es überhaupt einen Unterschied in Bezug auf …


1
Loop-Leistung in einem Shader
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 …


1
Warum ist der Zugriff auf Texturen bei der Berechnung der Texturkoordinate im Fragment-Shader viel langsamer?
Wenn Sie Texturen in GLSL verwenden, berechnen Sie am besten die endgültigen Texturkoordinaten im Vertex-Shader und übergeben Sie sie mit varyings an den Fragment-Shader . Beispiel mit einem einfachen Umdrehen der y-Koordinate: // Vertex shader attribute vec2 texture; varying highp vec2 texCoord; // ... void main() { texCoord = vec2(texture.x, …

1
Problem mit der omnidirektionalen Schattenzuordnung von WebGL
Zunächst möchte ich sagen, dass ich viel über Schattenmapping mit Tiefenkarten und Cubemaps gelesen habe und verstehe, wie sie funktionieren. Außerdem habe ich Berufserfahrung mit OpenGL, aber ich habe ein Problem bei der Implementierung Omnidirektionale Schattenkartierungstechnik unter Verwendung einer Einzelpunktlichtquelle in meiner 3D-Grafik-Engine namens "EZ3". Meine Engine verwendet WebGL als …



1
Shadow Mapping-Artefakte
Ich habe mit Schattenzuordnung in OpenGL unter Verwendung von Tiefenstrukturen herumgespielt. Die Tiefenstruktur ist in Ordnung und ich kann sie auf die Szene abbilden, aber ich habe einige seltsame Artefakte auf der Rückseite des Objekts: Meine Frage ist, was dies verursacht und wie ich es beheben kann. Der Fragment-Shader, den …

1
Shader einheitliche Leistung
Ich würde gerne wissen, ob sich die Leistung auf die Struktur meiner Shader-Uniformen auswirkt. Ist das Übergeben von 4 Floats beispielsweise schlechter als das Übergeben eines einzelnen vec4?

1
OpenGL Specular Shading - Probleme mit Gradientenstreifen
Ich benutze Phong Shading als mein Beleuchtungsmodell. Trotzdem erzeugt die Spiegelschattierung Gradienten im Lichtkegel: Hoffentlich können Sie sehen, dass sich der Gradient von der unteren linken Ecke entlang des Quaders ausdehnt. Hier ist der Shader-Code, der dieses spiegelnde Licht erzeugt: vec3 viewDir = normalize(-FragPos); vec3 lightDir = normalize(-light.direction); vec3 reflectDir …
8 opengl  glsl  lighting 

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.