Der Spielcode ist vollständig in der Sprache der Mathematik geschrieben . Lassen Sie es uns zusammenfassen.
N ist für die Größe der Zellen verantwortlich.
pow (1.02, iTime) erstellt eine einheitliche Animation von Zellen, 1.02 - Animationsgeschwindigkeit; Früher oder später führt dies zu einem Pufferüberlauf, aber die Animation kann durch Setzen von t = 1 oder so gemacht werden, dass sie mit der Zeit t = iTime langsamer wird.
dx und dy - x und y Versatz der Cursorposition.
float f = float ((x-dx) * (x-dx) * t + (y-dy) * (y-dy) * t); // Dies sind die Spielregeln - in dieser Funktion (eigentlich keine Funktion) können Sie Änderungen vornehmen und neue Spielelogik erhalten.
float F = abs (f · sin ((x) / N) · sin ((y) / N)); // Erstellt eine Zellmembran für Funktion (nicht Funktion) f.
int R = int (Boden (F * pow (16,0, 6,0-decken (log2 (F) / 4,0)))); // Passen Sie die Membranfarben an, indem Sie am Ende der hexadezimalen Notation Nullen hinzufügen oder nach rechts kürzen. Grundsätzlich handelt es sich um einen vorgefertigten X11-Farbindex, der in HTML oder Photoshop verwendet wird.
Kurz gesagt, alles ist einfach. Ich bin eigentlich neu in Mathematik und GLSL, aber meine Freunde mochten dieses Spiel und ich frage mich, wie Habr es bewerten wird. Wenn Sie irgendwelche Ideen haben, können Sie sie teilen. Für diejenigen, die versuchen möchten, in andere Programmiersprachen zu übertragen, werde ich Sie warnen, dass solche Berechnungen für jedes Pixel für den Prozessor sehr schwierig sind - Sie müssen Shader programmieren (naja, persönlich meine Erfahrung, aber im Allgemeinen macht es mir nichts aus )