Rendering
UnityでGPU上のRenderTextureのピクセル情報を非同期的に取得するAsyncGPUReadbackについてまとめました。
Particle SystemのCustom Vertex StreamsとCustom Dataの使い方をまとめました。
Particle SystemのGPUインスタンシングに対応したシェーダの書き方をまとめました。
Particle SystemにおけるGPUインスタンシングの基礎知識と注意点をまとめました。
UnityのUniversal Render Pipeline(URP)の概念とセットアップ方法をまとめました。
物理ベースレンダリングに入門するための連載の第3回です。 最終回の今回はPBRのシェーダをUnityで実装します。
物理ベースレンダリングに入門するための連載の第2回です。 今回は主要な鏡面反射BRDFと拡散反射BRDFを紹介します。
物理ベースレンダリングに入門するための連載の第1回です。 今回は物理ベースレンダリングの概念とその背後にある考え方についてまとめます。
UnityのShader Graphで浮動小数点数の精度を設定できるPrecision Modeについてまとめます。
Unityのエディタ拡張で、プレビューなど一時的なレンダリング用に独立したシーンを作成する方法です。
シェーダでは浮動小数点のアンダーフローをちゃんと意識しないとダメだよって話です。
Unityで深度とビュー空間の法線を使って輪郭線を表示するポストエフェクトを実装する方法をまとめました。
Unityのシェーダで投影テクスチャシャドウを実装する方法をまとめました。
Unityのシェーダで色空間設定がガンマでもリニアでも同じ計算結果を示すシェーダを書く方法についてまとめました。
Unityのシェーダでオブジェクトを描画した後に追加描画する方法です。
Unityのシェーダで3Dモデルにテクスチャを投影する投影テクスチャマッピングを実装する方法をまとめました。
UnityのシェーダでスクリプトからVP行列を渡してシェーダで座標変換に使う方法をまとめました。
UnityのシェーダでFloatやVectorをリニア変換対象にするGammaアトリビュートについてまとめます。
PhotoshopのオーバーレイをUnityのシェーダで再現する方法です。
Unityにおけるテクスチャの色空間設定(sRGBチェックボックス)の意味と挙動をまとめました。
Unityでビュー空間の法線とソーベルフィルタを使って輪郭線を表示するポストエフェクトを実装する方法をまとめました。
Unityのシェーダでビュー空間の法線を取得する方法をまとめました。
Unityのシェーダにおける値のリニア <-> sRGB変換関数を紹介します。
Unityのシェーダでディレクショナルブラーのポストエフェクト実装する方法です。
Unityのシェーダで0~1の値の強度をpow()を使わずに変換する方法です。
UnityのシェーダでSpiral Blur(渦巻ブラー)のポストエフェクトを実装する方法です。
Unityのシェーダで回転ブラーのポストエフェクトを実装する方法です。
UnityのシェーダでノーマルマップのZ値を使って情報量を増やした発光表現を紹介します。
深度値を使ったソフトパーティクルのシェーダを書いてみました。
描画対象のピクセルに対応する深度テクスチャから深度値を取得する方法です。