Shader

【Unity】【シェーダ】Forward Renderingで複数のライトを取り扱う

ForwardRenderingで複数ライトを取り扱うときの挙動やシェーダの書き方をまとめました。

【Unity】【シェーダ】Reflection Probeの影響を受けるシェーダを書く

Reflection Probeを適用するシェーダの書き方です。 ここではReflection Probeの仕組みは割愛し、シェーダ内での取り扱いについてのみ書きます。 Reflection Probeについては別の記事で書きます(17.07.10 書きました -> 関連からリンク)。

【Unity】【シェーダ】シェーダにおいてif文は悪か

シェーダではif文が避けられる傾向にあります。 ただどういうケースでなぜ避けるべきなのか、ということについては耳にする機会があまりなかったので調べてみました。

【Unity】【シェーダ】色収差のポストエフェクトを実装する

色収差のポストエフェクトを実装します。

【Unity】【シェーダ】フレネル反射の実装

フレネル反射について簡単にまとめます。

【Unity】【シェーダ】MatCap(スフィアマッピング)を実装する

MatCapとかスフィアマッピングとか呼ばれる手法の実装方法です。

【Unity】【シェーダ】スクリーンに対してテクスチャをマッピングする方法を完全解説する

スクリーンに対してテクスチャをマッピングする方法です。

【Unity】【シェーダ】Custom Render Textureを使ってみる

Unity2017から追加されたCustom Render Textureを簡単に使ってみました。

【Unity】プロジェクション行列は掛けるだけじゃなくてw除算しなきゃダメだよという話

カメラ空間からプロジェクション空間に座標変換する過程の理解が曖昧だったので、それに関する記事です。

【Unity】【シェーダ】小数点の精度と型の使い分けについて(float / half / fixedの話)

シェーダで小数点を使う時には、float、half、fixedの3つの型が使えます。 この記事ではこれらの違いと使い分けについて簡単にまとめます。 必要な知識のみ。深入りはしません(できません)。

【Unity】【シェーダ】RenderTypeをスクリプトから変更する

RenderTypeをスクリプトから変更する方法です。 Standardシェーダのように不透明や半透明をエディタから切り替える機能をつけるときなどに便利です。

【Unity】【シェーダ】Custom Render Queueについて

マテリアルからQueueによる描画順をいじるCustom Render Queueの使い方です。

【Unity】【シェーダ】clip()やdiscardを使うときにはRenderQueueをAlphaTestにする話

AlphaTestというRenderQueueについてちゃんと理解できていない感があったので調べました。

【Unity】【シェーダ】光芒(グレア)のポストエフェクトを実装する

光芒とかスターと呼ばれるポストエフェクトを実装してみます。

【Unity】【シェーダ】ガウス関数を使ってブラーを掛ける

ガウス関数を用いてぼかし効果を加える方法を紹介します。

【Unity】【シェーダ】4種のアウトライン描画方法とその特徴

アウトラインの描画方法はいくつかのパターンがあります。 このブログでもいくつか紹介してきたので、この記事ではそれらの概要と特徴をまとめてみます。

【Unity】【シェーダ】より低負荷なエッジ抽出方法(4点サンプリング法)

以前ソーベルフィルタやプレヴィットフィルタによるエッジの抽出方法を紹介しました(関連の節からリンクしてあります)。 これらの方法はテクスチャサンプリング数が多い(8回)という欠点があります。 そこで、より低負荷なエッジ抽出方法を紹介します。

【Unity】【シェーダ】プレヴィットフィルタでエッジを抽出する

前回、ソーベルフィルタによるエッジ抽出方法を紹介しました。 light11.hatenadiary.com 今回はプレヴィットフィルタによるエッジ抽出方法を紹介します。

【Unity】【シェーダ】ソーベルフィルタでエッジを抽出する

テクスチャやレンダリング結果などからエッジを抽出するにはいくつかの方法があります。 ここではソーベルフィルタというフィルタをかけることで抽出する方法を紹介します。

【Unity】【シェーダ】なんとなく書きがちな#pragma target 3.0の意味

Unityでシェーダを書くとき、特定の機能を使う場合に次のような記述をすることがあるとおもいます。 #pragma target 3.0 これはShader Compilation Target Levelsというものです。 今回はこれについて調べてみます。

【Unity】ステンシルバッファをポストエフェクトで使う方法(と謎の挙動)

ポストエフェクトでステンシルバッファを使う方法です。 なんかいろいろと挙動(の原因)がわからないところがあるのでメモがてら。 結論だけ知りたい方は「結論」の節まで飛ばしてもらえればわかるようになってます。

【Unity】【シェーダ】オブジェクトの遮蔽されている部分をシルエット描画する(ステンシルバッファ)

あるオブジェクトの、ほかのオブジェクトと重なって隠れてしまっている部分を違う色で描画する方法です。 障害物に遮蔽されているときにシルエットを描画したい場合などに使えます。

【Unity】【シェーダ】カメラからの深度情報を用いてアウトラインを描画する

デプステクスチャを用いてアウトラインを描画する方法です。

【Unity】【シェーダ】カメラから見た深度を描画する

カメラから見た時の深度を描画する方法です。

【Unity】【シェーダ】ステンシルバッファでアウトラインを描画する

ステンシルバッファを使ってアウトラインを描画する方法を紹介します。

【Unity】【シェーダ】シャボン玉風シェーダ

下の記事からさらに派生してシャボン玉風シェーダを作ってみました。

【Unity】【シェーダ】構造色風シェーダを実装してみる

構造色レンダリングの記事を元に、構造色風のシェーダを作ってみました。

構造色レンダリングの要点をまとめてみる

構造色のレンダリング手法ってどんなものがあるのかと探していたところ、下記の論文を見つけました。 汎用的な構造色レンダリング手法の開発 とても勉強になりましたが、アカデミックな論文はなかなか理解に時間がかかってしまうので、要点をまとめてみます。…

【Unity】【シェーダ】Unityシェーダチートシート

自分用メモ。随時更新。

【Unity】アウトラインを描画する最も簡単な方法

スタンダードなアウトライン描画をやってみます。