2023-05-05
コンピューターを活かし切ろう。GPU向けの並列動作させるC言語風のプログラミング言語、GLSLのバージョン3.0を気軽に使うための拡張タグを作りました。


「cloud - fragment-shader tag demo」
src on GitHub
レイマーチングで潜れる雲を作る - Qiita」で見つけた無限に雲の中を飛んでいく風をちょっと改良。マウスで上下左右に少し動けて、雲の濃さも周期的に変えてみました。クリックするとフルスクリーン。

fragment-shaderというHTML拡張タグを作ったので、フラグメントシェーダーをGLSL ES 3.0で書くだけでいろんなアニメーションを生成できます!
<script type="module" src="https://code4fukui.github.io/eggl/fragment-shader.js"></script> <fragment-shader width=512 src="./cloud.glsl" fullscreen></fragment-shader> 1行目で拡張タグの準備、fragment-shaderタグはsrcで指定するか、タグの中にフラグメントシェーダーを記述すればOK!読み込み時にプログラムが見えて気になる場合は、hidden属性を加えればOKです。


「fragment-shader tag demo」
src on GitHub
このようにHTML内に自由に並べて使えます。WebGL2&GLSL3、ウェブサイトをステキに飾るのにも良さそうですね!

光の珠オーブや、をES-Jamで編集しながら遊んでみるところからどうぞ!

「オーブ - ES-Jam」

links
- WebGL 開発支援サイト wgld.org
- WebGL2 Fundamentals - WebGL2に特化した入門サイト
- docs.gl

Tweet
クリエイティブ・コモンズ・ライセンス
本ブログの記事や写真は「Creative Commons — CC BY 4.0」の下に提供します。記事内で紹介するプログラムや作品は、それぞれに記載されたライセンスを参照ください。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / 「一日一創」画像 / RSS