【Hack a Week】シェーダーに入門してみる
概要
Hack a Weekの第二週です
目次
前回のHack a Week
先週はDDDを荒く理解する活動をしました。
完全理解とはいかないまでも、荒く理解してみる活動をしてみると新たな知見が広がってとても良かった
今週のHack a Week: シェーダーに入門する
VRChatをやっていると、シェーダーで遊んでいる人を見かけたり、謎解きワールドで不思議なシェーダーに遭遇することが多々あります。色々な表現を見ていて、自分もシェーダーで遊べると面白いだろうなーと思い、シェーダーに入門してみました。
今回の勉強するために、XJINE’sさんの本「Unity Shader Programming」のVol.1~Vol.6を読みました。
Unity Shader Programming Vol.01 (v.3.0.0)【PDF】
読んで理解した内容は、こちらのZennのスクラップにまとめています。
シェーダーに入門をする - zenn.dev
目標と結果
目標:簡単なシェーダーを作ってVRChatにアップロードすること
結果:達成。入門記事を見ながら簡単にシェーダーを書いてみて、VRCにアップロードしてみました
シェーダーを色々試しているー! pic.twitter.com/mhQdAk2QOE
— 慕狼ゆに@エンジニア作業飲み集会🍺 (@YYa0928) February 3, 2024
シェーダーに入門してみた感想・得たもの
Vol.1を読むときには、サンプルコードを実際にVRChatで試しながら理解し、Vol.2~Vol.6についてはPDFを読んでシェーダーでどんなことが出来るのか、シェーダーでどんな表現をどのようにするのかについて学びました。
Vol.1を読んだだけでも、シェーダーについての
オブジェクトが描画される仕組みや、処理の順序について理解できました。また、シェーダーの基本的な概念や用語を理解することができました。
シェーダー関係の話で良く出てくる、Vertex Shader、Fragment Shader、Geometry Shaderとはなんぞや?ということがちゃんと理解できるようになりました。
Vol.2~6については、今回は実際に処理を書かずざざっと流し読みをするに留めておきましたが、やっぱり実際に動かして学ぶと理解が捗るなと改めて思いました。Vol.1の範囲でも十分にシェーダーの基礎部分の知識が詰まっていたので、Vol.1だけでも実際に手を動かして勉強してみてよかったなと思っています。
趣味の範囲で今後も引き続き、シェーダーは触りつつ、理解の幅を広げていきたいなと思っています。
来週の目標
来週は、「権限」についてざっくり勉強してみたいと思います。
目標としては、Zennのスクラップに「権限」の実装について学んだことをアプトプットしてまとめるところまでをゴールにしようと思います。
【Hack a Week】シェーダーに入門してみる