Kann jemand erklären, was dieser GLSL-Fragment-Shader macht?

7

Ich verstehe, dass dies eine mathematische Frage ist, aber ... wenn Sie diese Webseite anschauen (und eine gute Grafikkarte haben) Ссылка

Wenn Sie sich die Quelle ansehen, werden Sie einen gruselig aussehenden Fragment-Shader bemerken.

Ich bin nicht auf der Suche nach einer detaillierten Erklärung, sondern nach einer Idee, was gerade passiert, oder nach der Quelle von Informationen darüber, was genau hier passiert. Ich bin nicht auf der Suche nach einem Leitfaden für GLSL, sondern auf Informationen Die Mathematik. Ich weiß, dass dies besser für die Math StackExchange-Website geeignet ist, aber ich dachte, ich würde es hier zuerst versuchen ...

%Vor%     
Alex 05.02.2012, 17:20
quelle

1 Antwort

20

Monjori stammt aus der Demoszene.

Die einfache Antwort ist, eine Formel zu verwenden, um ein Muster zu erzeugen. WebGL wird diese Funktion für jedes Pixel auf dem Bildschirm einmal aufrufen. Die einzigen Dinge, die sich ändern, sind die Zeit und gl_FragCoord, wo sich das Pixel befindet, das gezeichnet wird.

Lass es uns ein wenig brechen

%Vor%

Eines der Dinge, die man ausprobieren sollte, um zu sehen, was passiert, ist, frühe Ausgänge in den Shader einzufügen. Als erstes kannst du den Shader hier sehen

Ссылка

oder

Ссылка

Wenn wir zu Zeile 11 gehen

%Vor%

und einfügen gleich danach so etwas

%Vor%

Solange wir den Wert in einen Wert zwischen 0 und 1 umwandeln, können wir das Ergebnis sehen

gehe zum Beispiel in Zeile 14

%Vor%

Da wir wissen, dass es von 200 +/- 18 +/- 7 geht, ist das 175 + 225, also wandle das mit

in 0 bis 1 um %Vor%

wird Ihnen eine Idee geben, was es macht.

Ich bin sicher, dass Sie den Rest erarbeiten können.

    
gman 07.02.2012, 06:11
quelle

Tags und Links