楽しいshadertoy
DESCRIPTION
Shaderで遊べる楽しいサイト、ShaderToyを勝手に紹介します。 https://www.shadertoy.com/TRANSCRIPT
![Page 1: 楽しいShaderToy](https://reader034.vdocuments.net/reader034/viewer/2022051211/55660b55d8b42a06318b47ec/html5/thumbnails/1.jpg)
楽しいShaderToy
@gyabo
メガデモ勉強会 2013 Summer
![Page 2: 楽しいShaderToy](https://reader034.vdocuments.net/reader034/viewer/2022051211/55660b55d8b42a06318b47ec/html5/thumbnails/2.jpg)
目的
• ShaderToyというサイトをご紹介します • OpenGL (GLSL )をある程度知っていると具合がいいです
• こんな方におすすめ o FragmentShaderのフレームワークで手軽なのが無くて困ってる方 o 動画処理時、思いついたShaderを試してみたいけど環境構築だるいなど o etc
[私] @gyabo <Masaki Sasaki> 本業は組み込み屋さんです
![Page 3: 楽しいShaderToy](https://reader034.vdocuments.net/reader034/viewer/2022051211/55660b55d8b42a06318b47ec/html5/thumbnails/3.jpg)
もくじ
• ShaderToyとは • 作品をみてみる • 作ってみる • アカウント登録 • 作品を投稿してみる • ShaderToyのここがすごい • ShaderToyのここがこわい • ShaderToyの今
![Page 4: 楽しいShaderToy](https://reader034.vdocuments.net/reader034/viewer/2022051211/55660b55d8b42a06318b47ec/html5/thumbnails/4.jpg)
ShaderToyとは
h*ps://www.shadertoy.com/img/logomail.png
![Page 5: 楽しいShaderToy](https://reader034.vdocuments.net/reader034/viewer/2022051211/55660b55d8b42a06318b47ec/html5/thumbnails/5.jpg)
ShaderToyとは
ブラウザ(WebGL)でFragmentShaderを書いたり 他の人が作成した美しいShaderをコード付きで 見る事ができるソーシャルなサイト!
www.shadertoy.com
※ Beautypi(beautypi.com)が運営している
![Page 6: 楽しいShaderToy](https://reader034.vdocuments.net/reader034/viewer/2022051211/55660b55d8b42a06318b47ec/html5/thumbnails/6.jpg)
動作環境
ブラウザ + ゲームがある程度できるグラボが載ってるPCならOK [ブラウザ] ●Chrome 23 (オススメです) ●FireFox 17 ●InternetExplorer(IEWebGLのインストール必要) ●Safari 6 https://www.shadertoy.com/aboutより抜粋
![Page 7: 楽しいShaderToy](https://reader034.vdocuments.net/reader034/viewer/2022051211/55660b55d8b42a06318b47ec/html5/thumbnails/7.jpg)
サイト開くとこんな感じ
![Page 8: 楽しいShaderToy](https://reader034.vdocuments.net/reader034/viewer/2022051211/55660b55d8b42a06318b47ec/html5/thumbnails/8.jpg)
作品をみてみる
h*ps://www.shadertoy.com/img/logomail.png
![Page 9: 楽しいShaderToy](https://reader034.vdocuments.net/reader034/viewer/2022051211/55660b55d8b42a06318b47ec/html5/thumbnails/9.jpg)
その1 : 面白そうなのを適当にクリック
見た目面白そう、ヤバそうなのを適当に選んでみる
![Page 10: 楽しいShaderToy](https://reader034.vdocuments.net/reader034/viewer/2022051211/55660b55d8b42a06318b47ec/html5/thumbnails/10.jpg)
画面の説明
ビュー数、イイネ数、コメント数 投稿した人の名前など
ShaderCode (GLSL)
スゴイ級の方々のコメント!
![Page 11: 楽しいShaderToy](https://reader034.vdocuments.net/reader034/viewer/2022051211/55660b55d8b42a06318b47ec/html5/thumbnails/11.jpg)
その2: これまでに投稿されたShaderを見てみる
Browseをクリック!
![Page 12: 楽しいShaderToy](https://reader034.vdocuments.net/reader034/viewer/2022051211/55660b55d8b42a06318b47ec/html5/thumbnails/12.jpg)
すごいShaderがいっぱい表示される!
これは人気順(Popular), ほかにも最近の投稿(Newest), お気に入り数(Love)でソートしてみることができます
![Page 13: 楽しいShaderToy](https://reader034.vdocuments.net/reader034/viewer/2022051211/55660b55d8b42a06318b47ec/html5/thumbnails/13.jpg)
作ってみる
h*ps://www.shadertoy.com/img/logomail.png
![Page 14: 楽しいShaderToy](https://reader034.vdocuments.net/reader034/viewer/2022051211/55660b55d8b42a06318b47ec/html5/thumbnails/14.jpg)
お手軽に試したい場合
New Shaderをクリック!
![Page 15: 楽しいShaderToy](https://reader034.vdocuments.net/reader034/viewer/2022051211/55660b55d8b42a06318b47ec/html5/thumbnails/15.jpg)
New Shaderひらいた画面
![Page 16: 楽しいShaderToy](https://reader034.vdocuments.net/reader034/viewer/2022051211/55660b55d8b42a06318b47ec/html5/thumbnails/16.jpg)
画面の使い方
Shaderが書ける場所 すぐ書ける!
リソースチャンネル
レンダリング結果と 経過時間とFPS
![Page 17: 楽しいShaderToy](https://reader034.vdocuments.net/reader034/viewer/2022051211/55660b55d8b42a06318b47ec/html5/thumbnails/17.jpg)
リソースチャンネルをクリックすると プリセットが選べる(Texture, 音楽、動画、Webcam…)
選ぶと そのチャンネルに リソースが入る
![Page 18: 楽しいShaderToy](https://reader034.vdocuments.net/reader034/viewer/2022051211/55660b55d8b42a06318b47ec/html5/thumbnails/18.jpg)
用意してくれているUniform変数がいくつかあります
![Page 19: 楽しいShaderToy](https://reader034.vdocuments.net/reader034/viewer/2022051211/55660b55d8b42a06318b47ec/html5/thumbnails/19.jpg)
使い方はShaderを書いたらコンパイルの繰り返し
ばしばしShaderを書いたら ココをクリック! ※Alt + EnterでもOK
![Page 20: 楽しいShaderToy](https://reader034.vdocuments.net/reader034/viewer/2022051211/55660b55d8b42a06318b47ec/html5/thumbnails/20.jpg)
表示される!たのしい!
リソース変えて調子をみたり 音楽にあわせて動かしたりなどで 色々具合を見る事ができます
![Page 21: 楽しいShaderToy](https://reader034.vdocuments.net/reader034/viewer/2022051211/55660b55d8b42a06318b47ec/html5/thumbnails/21.jpg)
画面はただの板ポリゴンです
立体的な画像を出すには Raytrace, Raymarchng, FakeEffect… など、ある程度定番の工夫が必要です。 ※ ほかの人のShaderをまねして改造するのが上達する近道!
上はただテクスチャを 表示するだけのGLSLCode
![Page 22: 楽しいShaderToy](https://reader034.vdocuments.net/reader034/viewer/2022051211/55660b55d8b42a06318b47ec/html5/thumbnails/22.jpg)
アカウント登録
h*ps://www.shadertoy.com/img/logomail.png
![Page 23: 楽しいShaderToy](https://reader034.vdocuments.net/reader034/viewer/2022051211/55660b55d8b42a06318b47ec/html5/thumbnails/23.jpg)
Sign In をクリックする!
Sign Inをクリック!
![Page 24: 楽しいShaderToy](https://reader034.vdocuments.net/reader034/viewer/2022051211/55660b55d8b42a06318b47ec/html5/thumbnails/24.jpg)
アカウントを作成する
必要な情報を詰めて Sign Upをクリック すると 確認用メールが飛ぶ。 チェックすれば 登録完了。
一度登録したら⬆で 再びログインできる
![Page 25: 楽しいShaderToy](https://reader034.vdocuments.net/reader034/viewer/2022051211/55660b55d8b42a06318b47ec/html5/thumbnails/25.jpg)
サインインしたら、プロフィール画面を開いてみる
![Page 26: 楽しいShaderToy](https://reader034.vdocuments.net/reader034/viewer/2022051211/55660b55d8b42a06318b47ec/html5/thumbnails/26.jpg)
作ったShaderを見たり、管理する事ができます
公開中のShader下書中のShader
プロフ絵
![Page 27: 楽しいShaderToy](https://reader034.vdocuments.net/reader034/viewer/2022051211/55660b55d8b42a06318b47ec/html5/thumbnails/27.jpg)
作品を投稿してみる
h*ps://www.shadertoy.com/img/logomail.png
![Page 28: 楽しいShaderToy](https://reader034.vdocuments.net/reader034/viewer/2022051211/55660b55d8b42a06318b47ec/html5/thumbnails/28.jpg)
投稿するには同じようにNew Shader選んで編集
⬆に作品名、関連タグ、 コメントを書くのだが…
![Page 29: 楽しいShaderToy](https://reader034.vdocuments.net/reader034/viewer/2022051211/55660b55d8b42a06318b47ec/html5/thumbnails/29.jpg)
作品名などを埋めてSubmitすれば投稿できる
Publicが公開用の 設定(どっちでも良い)
Draftは下書きなどに使用する。 ※一時保存でよく使う 最初はDraftで様子を見てから Publicにして投稿するのがベスト
![Page 30: 楽しいShaderToy](https://reader034.vdocuments.net/reader034/viewer/2022051211/55660b55d8b42a06318b47ec/html5/thumbnails/30.jpg)
Publicで投稿すると、browser -> Newestに載る!
見てくれた方が感想をくれるかもしれません!
![Page 31: 楽しいShaderToy](https://reader034.vdocuments.net/reader034/viewer/2022051211/55660b55d8b42a06318b47ec/html5/thumbnails/31.jpg)
ShaderToyのここがすごい
h*ps://www.shadertoy.com/img/logomail.png
![Page 32: 楽しいShaderToy](https://reader034.vdocuments.net/reader034/viewer/2022051211/55660b55d8b42a06318b47ec/html5/thumbnails/32.jpg)
作成したShaderに対してコメントがもらえる!
スゴイ方から コメントもらえちゃったりします
![Page 33: 楽しいShaderToy](https://reader034.vdocuments.net/reader034/viewer/2022051211/55660b55d8b42a06318b47ec/html5/thumbnails/33.jpg)
公式Twitterで具合の良いShaderが紹介される
掲載基準はよくわからない。 単純にView数やらイイネ数かな…
![Page 34: 楽しいShaderToy](https://reader034.vdocuments.net/reader034/viewer/2022051211/55660b55d8b42a06318b47ec/html5/thumbnails/34.jpg)
非常にレベルが高いShaderが多い
アカウント登録している為か ほどよい緊張感の為か…
![Page 35: 楽しいShaderToy](https://reader034.vdocuments.net/reader034/viewer/2022051211/55660b55d8b42a06318b47ec/html5/thumbnails/35.jpg)
プリセットが豊富(GLSL SandBoxと大きく異なる)
このリソース制限で 工夫してある Shaderが多い。 つい最近WebCamまで サポートされた。
![Page 36: 楽しいShaderToy](https://reader034.vdocuments.net/reader034/viewer/2022051211/55660b55d8b42a06318b47ec/html5/thumbnails/36.jpg)
ShaderToyのここがこわい
h*ps://www.shadertoy.com/img/logomail.png
![Page 37: 楽しいShaderToy](https://reader034.vdocuments.net/reader034/viewer/2022051211/55660b55d8b42a06318b47ec/html5/thumbnails/37.jpg)
投稿した作品に 不具合があるとメールが飛んでくる!
ざっくりとした意味 「あなたが投稿したShaderはこちらでは変更しないけど きちんと動作するように変更して再投稿してほしい」
![Page 38: 楽しいShaderToy](https://reader034.vdocuments.net/reader034/viewer/2022051211/55660b55d8b42a06318b47ec/html5/thumbnails/38.jpg)
不具合とは?
ShaderToyのガイドラインで以下は避けてと記載
・NaNな計算 ・ループ回数多すぎてコンパイル中にブラウザ上で タイムアウト発生したり ・30fps確保できていない?ものなど (※環境に拠ると思う) 最悪rejectされる(publicからdraftに強制的に戻る)
※最近変なの投稿していないので、 もしかしたら挙動変わってるかも
![Page 39: 楽しいShaderToy](https://reader034.vdocuments.net/reader034/viewer/2022051211/55660b55d8b42a06318b47ec/html5/thumbnails/39.jpg)
ガイドラインは?
![Page 40: 楽しいShaderToy](https://reader034.vdocuments.net/reader034/viewer/2022051211/55660b55d8b42a06318b47ec/html5/thumbnails/40.jpg)
警告のおかげか
クリックしても 再生できない時 割とかなしい
作った方が懸命に直しているのか、動作しないShaderが 殆ど無い。
h*p://glsl.heroku.com/
![Page 41: 楽しいShaderToy](https://reader034.vdocuments.net/reader034/viewer/2022051211/55660b55d8b42a06318b47ec/html5/thumbnails/41.jpg)
ShaderToyの今
h*ps://www.shadertoy.com/img/logomail.png
![Page 42: 楽しいShaderToy](https://reader034.vdocuments.net/reader034/viewer/2022051211/55660b55d8b42a06318b47ec/html5/thumbnails/42.jpg)
Siggraph2013でLiveCodingするっぽい
![Page 43: 楽しいShaderToy](https://reader034.vdocuments.net/reader034/viewer/2022051211/55660b55d8b42a06318b47ec/html5/thumbnails/43.jpg)
まとめ
豊富なリソースが提供されているブラウザ環境での お試しShaderを 作る時などに重宝するし、なにより動いてるの投稿したりしてたのしい!
![Page 44: 楽しいShaderToy](https://reader034.vdocuments.net/reader034/viewer/2022051211/55660b55d8b42a06318b47ec/html5/thumbnails/44.jpg)
おわり ご清聴ありがとうございました!
Question?
![Page 45: 楽しいShaderToy](https://reader034.vdocuments.net/reader034/viewer/2022051211/55660b55d8b42a06318b47ec/html5/thumbnails/45.jpg)
補足:遊ぶ為に知っておくといいこと
FragmentShaderの書き方(これだけ)
h*p://my.safaribooksonline.com/book/web-‐‑development/9781849691727/2dot-‐‑rendering-‐‑geometry/id286751012
Shaderはここに適用される。 用意されている入力は 今後増えるかな…