シェーダーのお話 // 第52回社内勉強会 #sa_study

 
 
ェーダー それは 君がみた光 ぼくがみた希望 
 
 
シェーダー それは ふれあいの心 幸せの青い雲
 
 
 

・君がみた光(※わたしの勝手なイメージです)再生ボタンで動きます。


https://www.shadertoy.com/view/XtGGRt

・ぼくがみた希望(※わたしの勝手なイメージです)再生ボタンで動きます。

https://www.shadertoy.com/view/4tdSDX

・ふれあいの心(※わたしの勝手なイメージです)再生ボタンで動きます。

https://www.shadertoy.com/view/MssyD4

・幸せの青い雲(※わたしの勝手なイメージです)再生ボタンで動きます。

https://www.shadertoy.com/view/XtBXDw

 

さて、つゆつゆの梅雨でじめじめのジメをお纏いのみなさま、お元気にお過ごしでしょうか。

7月22日に開催された社内勉強会は、遠藤氏による「シェーダー」についてのお話でございました。

わたしがシェーダーのことをお勉強したいという相談をしたら、すぐに勉強会で情報シェアしてくれて、とっても嬉しいです!

ゲーム関連のデベロッパの方は「シェーダー」が割と身近にあるかもしれませんが、Web系のエンジニアにとっては「宇宙にある未知の物質かな??」くらいの勢いでワケのわからないモノに感じてしまいますよね。

 

でも、大丈夫!

冒頭に掲げた青雲のメロディーに黄昏ながらチョイスした4つのビジュアル映像は、すべてシェーディング言語によって記述されたプログラムのレンダリング結果です。

すごくないですか!?

そんなわけで、わたしもプログラムで映像表現できるようになりたくて、シェーダーの門を潜り始めているところ、すでに門下生である遠藤氏に相談をしたら、勉強会でお話ししてくれたという経緯なのでした。

遠藤氏はProcessingopenFrameworksCinderと仲良く遊んでいらっしゃるビジュアル表現の先輩なのです。

 

当日のスライドはこちら。

 

お話の内容は、トゥーンレンダリング、バンプマッピング、シャドウマッピング、などの具体的なシェーディング処理の例だったり、OpenGL Shading Langage(GLSL)、Metal Shading langage、High Level Shading Language(HLSL)といったシェーディング言語の紹介などがありました。

OpenGLではレンダリングパイプラインと呼ばれる画像を出力するための行程の中に「バーテックスシェーダ(頂点シェーダ)」と「フラグメントシェーダ」がありますが、今回は「フラグメントシェーダ」にフォーカスを置いたお話をしていただきました。

(「バーテックスシェーダ」「フラグメントシェーダ」についての参考記事)
http://marina.sys.wakayama-u.ac.jp/~tokoi/?date=20090827

 

また、スライドにもありますが、簡単なGLSLのコードの記載と、その解説をしてくれたので、シェーダーのお気持ちを察する能力が少し身についたような気がします…!

 

最後に、Webブラウザでシェーダーを書いて遊ぶことができるサイトもいくつか紹介されました。

発表が終わったあとは、Shadertoyの作品や、Tokyo Demo Fes ( http://tokyodemofest.jp/ ) 、Revision ( https://revision-party.net/ ) といったイベントの動画を鑑賞しながらピザを食べるタイムに突入しつつ、一通り眺め終わった頃に幕を閉じました。

Tokyo Demo Fest 2018 シェーダー ライブコーディング バトル [Live footage]

https://www.youtube.com/watch?v=6rKaNi5yUOQ

 

Revision 2018 – Event – Shader Showdown Semi-Finals

https://www.youtube.com/watch?v=KTduo6rsTpY

ちなみに、Ruby言語を使ってリアルタイムに音楽を生成することができる Sonic Pi ( http://sonic-pi.net/ )というツールの紹介もあって、こんな感じのパフォーマンス動画も鑑賞しました。

Sam Aaron live coding an ambient electro set w/ Sonic Pi

https://www.youtube.com/watch?v=G1m0aX9Lpts

そんなわけで、みなさんも周りのエンジニアに「ねぇ、シェーダー、しよっ…?(///ω///)」とか「それとも、そにパイ、する…?(///ω///)」などと声を掛ける活動をすることで、素晴らしき新しい世界を切り開くことができるのではないでしょうか…!!

でわでわ。よきエンジニアライフを。