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

Más contenido relacionado

La actualidad más candente

ピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築するピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築するTakahito Tejima
 
【Unity道場】VectorGraphicsで作る エモい表現
【Unity道場】VectorGraphicsで作る エモい表現【Unity道場】VectorGraphicsで作る エモい表現
【Unity道場】VectorGraphicsで作る エモい表現Unity Technologies Japan K.K.
 
CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...
CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...
CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...KLab Inc. / Tech
 
Unityで音声認識
Unityで音声認識Unityで音声認識
Unityで音声認識光喜 濱屋
 
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​KLab Inc. / Tech
 
【 Unity道場 1月 ~LWRPとシェーダー~】軽量レンダーパイプライン、Light Weight Renderer Pipeline…とは
【 Unity道場 1月 ~LWRPとシェーダー~】軽量レンダーパイプライン、Light Weight Renderer Pipeline…とは【 Unity道場 1月 ~LWRPとシェーダー~】軽量レンダーパイプライン、Light Weight Renderer Pipeline…とは
【 Unity道場 1月 ~LWRPとシェーダー~】軽量レンダーパイプライン、Light Weight Renderer Pipeline…とはUnity Technologies Japan K.K.
 
【Unite Tokyo 2018】トゥーンシェーダートークセッション#1『リアルタイムトゥーンシェーダー徹底トーク』
【Unite Tokyo 2018】トゥーンシェーダートークセッション#1『リアルタイムトゥーンシェーダー徹底トーク』【Unite Tokyo 2018】トゥーンシェーダートークセッション#1『リアルタイムトゥーンシェーダー徹底トーク』
【Unite Tokyo 2018】トゥーンシェーダートークセッション#1『リアルタイムトゥーンシェーダー徹底トーク』Unity Technologies Japan K.K.
 
つぶやきGLSLとは
つぶやきGLSLとはつぶやきGLSLとは
つぶやきGLSLとはGearsRenard
 
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計UnityTechnologiesJapan002
 
【Unity道場 建築スペシャル2】点群ビジュアライゼーション
【Unity道場 建築スペシャル2】点群ビジュアライゼーション【Unity道場 建築スペシャル2】点群ビジュアライゼーション
【Unity道場 建築スペシャル2】点群ビジュアライゼーションUnityTechnologiesJapan002
 
Autoware: ROSを用いた一般道自動運転向けソフトウェアプラットフォーム
Autoware: ROSを用いた一般道自動運転向けソフトウェアプラットフォームAutoware: ROSを用いた一般道自動運転向けソフトウェアプラットフォーム
Autoware: ROSを用いた一般道自動運転向けソフトウェアプラットフォームTakuya Azumi
 
中級グラフィックス入門~シャドウマッピング総まとめ~
中級グラフィックス入門~シャドウマッピング総まとめ~中級グラフィックス入門~シャドウマッピング総まとめ~
中級グラフィックス入門~シャドウマッピング総まとめ~ProjectAsura
 
モバイルアプリにおけるアーティストフレンドリーな水面表現戦略
モバイルアプリにおけるアーティストフレンドリーな水面表現戦略モバイルアプリにおけるアーティストフレンドリーな水面表現戦略
モバイルアプリにおけるアーティストフレンドリーな水面表現戦略Haruki Yano
 
【Unite Tokyo 2018】『崩壊3rd』開発者が語るアニメ風レンダリングの極意
【Unite Tokyo 2018】『崩壊3rd』開発者が語るアニメ風レンダリングの極意【Unite Tokyo 2018】『崩壊3rd』開発者が語るアニメ風レンダリングの極意
【Unite Tokyo 2018】『崩壊3rd』開発者が語るアニメ風レンダリングの極意UnityTechnologiesJapan002
 
OpenVRやOpenXRの基本的なことを調べてみた
OpenVRやOpenXRの基本的なことを調べてみたOpenVRやOpenXRの基本的なことを調べてみた
OpenVRやOpenXRの基本的なことを調べてみたTakahiro Miyaura
 
GUILTY GEAR Xrd開発スタッフが送るアニメ調キャラモデリングTIPS
GUILTY GEAR Xrd開発スタッフが送るアニメ調キャラモデリングTIPSGUILTY GEAR Xrd開発スタッフが送るアニメ調キャラモデリングTIPS
GUILTY GEAR Xrd開発スタッフが送るアニメ調キャラモデリングTIPSARC SYSTEM WORKS
 

La actualidad más candente (20)

GPU最適化入門
GPU最適化入門GPU最適化入門
GPU最適化入門
 
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築するピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
 
【Unity道場】VectorGraphicsで作る エモい表現
【Unity道場】VectorGraphicsで作る エモい表現【Unity道場】VectorGraphicsで作る エモい表現
【Unity道場】VectorGraphicsで作る エモい表現
 
CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...
CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...
CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...
 
Unityで音声認識
Unityで音声認識Unityで音声認識
Unityで音声認識
 
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​
 
5分でわかる Sensor SDK
5分でわかる Sensor SDK5分でわかる Sensor SDK
5分でわかる Sensor SDK
 
【 Unity道場 1月 ~LWRPとシェーダー~】軽量レンダーパイプライン、Light Weight Renderer Pipeline…とは
【 Unity道場 1月 ~LWRPとシェーダー~】軽量レンダーパイプライン、Light Weight Renderer Pipeline…とは【 Unity道場 1月 ~LWRPとシェーダー~】軽量レンダーパイプライン、Light Weight Renderer Pipeline…とは
【 Unity道場 1月 ~LWRPとシェーダー~】軽量レンダーパイプライン、Light Weight Renderer Pipeline…とは
 
【Unite Tokyo 2018】トゥーンシェーダートークセッション#1『リアルタイムトゥーンシェーダー徹底トーク』
【Unite Tokyo 2018】トゥーンシェーダートークセッション#1『リアルタイムトゥーンシェーダー徹底トーク』【Unite Tokyo 2018】トゥーンシェーダートークセッション#1『リアルタイムトゥーンシェーダー徹底トーク』
【Unite Tokyo 2018】トゥーンシェーダートークセッション#1『リアルタイムトゥーンシェーダー徹底トーク』
 
つぶやきGLSLとは
つぶやきGLSLとはつぶやきGLSLとは
つぶやきGLSLとは
 
UE4における大規模背景制作事例 最適化ワークフロー編
UE4における大規模背景制作事例 最適化ワークフロー編UE4における大規模背景制作事例 最適化ワークフロー編
UE4における大規模背景制作事例 最適化ワークフロー編
 
【Unity道場】使って覚えるTileMap
【Unity道場】使って覚えるTileMap【Unity道場】使って覚えるTileMap
【Unity道場】使って覚えるTileMap
 
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
 
【Unity道場 建築スペシャル2】点群ビジュアライゼーション
【Unity道場 建築スペシャル2】点群ビジュアライゼーション【Unity道場 建築スペシャル2】点群ビジュアライゼーション
【Unity道場 建築スペシャル2】点群ビジュアライゼーション
 
Autoware: ROSを用いた一般道自動運転向けソフトウェアプラットフォーム
Autoware: ROSを用いた一般道自動運転向けソフトウェアプラットフォームAutoware: ROSを用いた一般道自動運転向けソフトウェアプラットフォーム
Autoware: ROSを用いた一般道自動運転向けソフトウェアプラットフォーム
 
中級グラフィックス入門~シャドウマッピング総まとめ~
中級グラフィックス入門~シャドウマッピング総まとめ~中級グラフィックス入門~シャドウマッピング総まとめ~
中級グラフィックス入門~シャドウマッピング総まとめ~
 
モバイルアプリにおけるアーティストフレンドリーな水面表現戦略
モバイルアプリにおけるアーティストフレンドリーな水面表現戦略モバイルアプリにおけるアーティストフレンドリーな水面表現戦略
モバイルアプリにおけるアーティストフレンドリーな水面表現戦略
 
【Unite Tokyo 2018】『崩壊3rd』開発者が語るアニメ風レンダリングの極意
【Unite Tokyo 2018】『崩壊3rd』開発者が語るアニメ風レンダリングの極意【Unite Tokyo 2018】『崩壊3rd』開発者が語るアニメ風レンダリングの極意
【Unite Tokyo 2018】『崩壊3rd』開発者が語るアニメ風レンダリングの極意
 
OpenVRやOpenXRの基本的なことを調べてみた
OpenVRやOpenXRの基本的なことを調べてみたOpenVRやOpenXRの基本的なことを調べてみた
OpenVRやOpenXRの基本的なことを調べてみた
 
GUILTY GEAR Xrd開発スタッフが送るアニメ調キャラモデリングTIPS
GUILTY GEAR Xrd開発スタッフが送るアニメ調キャラモデリングTIPSGUILTY GEAR Xrd開発スタッフが送るアニメ調キャラモデリングTIPS
GUILTY GEAR Xrd開発スタッフが送るアニメ調キャラモデリングTIPS
 

Similar a 楽しいShaderToy

Web勉強会(HTML+CSS+JS入門の入門)
Web勉強会(HTML+CSS+JS入門の入門)Web勉強会(HTML+CSS+JS入門の入門)
Web勉強会(HTML+CSS+JS入門の入門)Noriaki UCHIYAMA
 
Shader読んで理解する会-基礎編
Shader読んで理解する会-基礎編Shader読んで理解する会-基礎編
Shader読んで理解する会-基礎編GearsRenard
 
WebGLことはじめ
WebGLことはじめWebGLことはじめ
WebGLことはじめKazuya Hiruma
 
Unity道場 14 Shader Forge 102 ~ShaderForgeをつかって学ぶシェーダー入門~ カスタムライティング/トゥーンシェーダー編
Unity道場 14 Shader Forge 102 ~ShaderForgeをつかって学ぶシェーダー入門~ カスタムライティング/トゥーンシェーダー編Unity道場 14 Shader Forge 102 ~ShaderForgeをつかって学ぶシェーダー入門~ カスタムライティング/トゥーンシェーダー編
Unity道場 14 Shader Forge 102 ~ShaderForgeをつかって学ぶシェーダー入門~ カスタムライティング/トゥーンシェーダー編小林 信行
 
Unity道場11 Shader Forge 101 ~ShaderForgeをつかって学ぶシェーダー入門~ 基本操作とよく使われるノード編
Unity道場11 Shader Forge 101 ~ShaderForgeをつかって学ぶシェーダー入門~ 基本操作とよく使われるノード編Unity道場11 Shader Forge 101 ~ShaderForgeをつかって学ぶシェーダー入門~ 基本操作とよく使われるノード編
Unity道場11 Shader Forge 101 ~ShaderForgeをつかって学ぶシェーダー入門~ 基本操作とよく使われるノード編小林 信行
 
Visual Studio 2012のDirect3Dアプリ開発者向け新機能を知ろう
Visual Studio 2012のDirect3Dアプリ開発者向け新機能を知ろうVisual Studio 2012のDirect3Dアプリ開発者向け新機能を知ろう
Visual Studio 2012のDirect3Dアプリ開発者向け新機能を知ろうMasafumi Takahashi
 
Neo4j Profile Export/Import Tool
Neo4j Profile Export/Import ToolNeo4j Profile Export/Import Tool
Neo4j Profile Export/Import ToolMasahiro Satake
 
僕の Serverless web application
僕の Serverless web application僕の Serverless web application
僕の Serverless web application祐樹 夏目
 
これから始めるssl対策
これから始めるssl対策これから始めるssl対策
これから始めるssl対策Shohei Kobayashi
 

Similar a 楽しいShaderToy (10)

Web勉強会(HTML+CSS+JS入門の入門)
Web勉強会(HTML+CSS+JS入門の入門)Web勉強会(HTML+CSS+JS入門の入門)
Web勉強会(HTML+CSS+JS入門の入門)
 
Grimoire.js + HoloLens
Grimoire.js + HoloLensGrimoire.js + HoloLens
Grimoire.js + HoloLens
 
Shader読んで理解する会-基礎編
Shader読んで理解する会-基礎編Shader読んで理解する会-基礎編
Shader読んで理解する会-基礎編
 
WebGLことはじめ
WebGLことはじめWebGLことはじめ
WebGLことはじめ
 
Unity道場 14 Shader Forge 102 ~ShaderForgeをつかって学ぶシェーダー入門~ カスタムライティング/トゥーンシェーダー編
Unity道場 14 Shader Forge 102 ~ShaderForgeをつかって学ぶシェーダー入門~ カスタムライティング/トゥーンシェーダー編Unity道場 14 Shader Forge 102 ~ShaderForgeをつかって学ぶシェーダー入門~ カスタムライティング/トゥーンシェーダー編
Unity道場 14 Shader Forge 102 ~ShaderForgeをつかって学ぶシェーダー入門~ カスタムライティング/トゥーンシェーダー編
 
Unity道場11 Shader Forge 101 ~ShaderForgeをつかって学ぶシェーダー入門~ 基本操作とよく使われるノード編
Unity道場11 Shader Forge 101 ~ShaderForgeをつかって学ぶシェーダー入門~ 基本操作とよく使われるノード編Unity道場11 Shader Forge 101 ~ShaderForgeをつかって学ぶシェーダー入門~ 基本操作とよく使われるノード編
Unity道場11 Shader Forge 101 ~ShaderForgeをつかって学ぶシェーダー入門~ 基本操作とよく使われるノード編
 
Visual Studio 2012のDirect3Dアプリ開発者向け新機能を知ろう
Visual Studio 2012のDirect3Dアプリ開発者向け新機能を知ろうVisual Studio 2012のDirect3Dアプリ開発者向け新機能を知ろう
Visual Studio 2012のDirect3Dアプリ開発者向け新機能を知ろう
 
Neo4j Profile Export/Import Tool
Neo4j Profile Export/Import ToolNeo4j Profile Export/Import Tool
Neo4j Profile Export/Import Tool
 
僕の Serverless web application
僕の Serverless web application僕の Serverless web application
僕の Serverless web application
 
これから始めるssl対策
これから始めるssl対策これから始めるssl対策
これから始めるssl対策
 

楽しいShaderToy