Shader

【Unity】わかった気になるMotion Vector

UnityのMotion Vectorについて、内部的な実装はさておき挙動だけ理解する記事です。

【Unity】モバイル視点のPostProcessing Stack入門

PostProcessingについての簡単な説明と、モバイルで使う上での注意点をまとめました。 PostProcessingについてはPreview版であり、なおかつあくまで現時点での情報となります。

【Unity】疑似HDRレンダリングを実装する

この記事では疑似HDRレンダリングを実装します。 疑似HDRとは、浮動小数点バッファを使わずに実装するHDRレンダリングのことです。

【Unity】特定のカメラのみ低解像度にする

特定のカメラの解像度だけを下げる方法です。

【Unity】UnityにおけるHDRレンダリング関連の設定とその挙動

UnityでHDRレンダリングする際の設定項目と、その挙動を確認してみました。

【Unity】【シェーダ】ビルトインのディザ抜き用テクスチャを使ってお手軽ディザ抜き

以前Unityのビルトインのディザ抜き用テクスチャを取得しました。 light11.hatenadiary.com 今回はこれを使って実際にディザ抜きしてみます。

【Unity】【シェーダ】ビルトインのディザ抜き用テクスチャを取得する

Unityのビルトインシェーダをみていると、どうやら内部的にディザ抜き用のテクスチャをもっていることがわかります。 これを使えたら便利そうなのでどんなテクスチャなのか見てみます。

【Unity】【シェーダ】VPOSを使ってスクリーンに対してテクスチャをマッピングする

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

【Unity】【シェーダテクニック】放射状にサンプリング

ノイズテクスチャサンプリングして放射状の模様を作ってみます。

【Unity】【シェーダテクニック】プロシージャルな円形グラデーション

円形のグラデーションをプロシージャルに作ってみます。

【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というものです。 今回はこれについて調べてみます。