Hier sind ein paar coole WebGL- und Web Audio API-Demos, die ich in den letzten Wochen gesehen habe.
EVE Online ist eine App zum Betrachten von Schiffen, die auf WebGL basiert. Eine sehr schöne Möglichkeit, das Artwork im Spieluniversum zu präsentieren.
Web Audio API enthält einige überzeugende Beispiele dafür, wie die Audioverarbeitung funktioniert. WebGL City ist eine der Demos, die auf der Beispielseite verlinkt sind. Es ist eine kleine Demo eines Hubschraubers, der durch eine nächtliche Stadtlandschaft fliegt. Der Helikopter (Musik durch Drücken von „m“ deaktivieren, Helikoptersound durch Drücken von „n“ aktivieren) verwendet Spatial Audio-Funktionen der Web Audio APIs, um das Audio des Helikopters von einem Lautsprecher zum anderen zu schwenken.
Einige geschäftstüchtige Soul implementierten ein Snake-Spiel ausschließlich mit einem WebGL-Fragment-Shader in der GLSL-Sandbox. Ich bin verblüfft.
Die Ursache sieht aus wie jede andere WebGL-Partikelanimation, die Partikelsimulation wird jedoch tatsächlich auf der GPU ausgeführt. Der Simulator ist ein Fragment-Shader, der die vorherigen Partikelpositionen aus einer Textur liest und die neuen Partikelpositionen in eine FBO-Textur schreibt.
Blocky Earth verwendet Google Earth-Daten und erstellt MineCraft sie. Sie vermittelt Höhenunterschiede. Wenn ich mir zum Beispiel Australien und den antarktischen Eisschild angesehen habe, kann man sehen, dass das Kontinentaleis mehrere Kilometer dick ist.
Midem Music Machine ist ein lustiges Musikdemo von Mr.doob und Paul Lamere. Eine Art kugelgesteuerte Spieldose, bei der Bälle von Stücken springen Schlag. CreativeJS hat eine gute Zusammenfassung, sehen Sie sich das an.
Zum Thema Computermusikvisualisierung habe ich vor Kurzem diese Seite über Bytebeat gesehen, eine Musikform, die durch minimalistische Codeformel generiert wird. Die Seite enthält Links zu einer coolen WebGL-Visualisierung der Musik. Gregg Tavares hat diese Idee angenommen und eine Bytebeat-Sandbox entwickelt, mit der Sie Ihre eigenen Bytebeat-Songs direkt über den Browser produzieren und teilen können.