深度テスト (ZTest)

ドキュメント:

ZTest – ShaderLab コマンド | Unity マニュアル [公式]

Culling と Depth Testing | Unity 2018.4 マニュアル [公式]

参考:

オブジェクトが重なった部分をくり抜く | おもちゃラボ

カメラから見た深度を描画する | LIGHT11

How is depth buffer written to? – Game Development Stack Exchange

オフセット (Offset)

ドキュメント:

Offset – ShaderLab コマンド | Unity マニュアル [公式]

参考:

How to modify the z depth value inside the vertex function of a surface shader? – Game Development Stack Exchange

カメラ深度テクスチャ

Depth Texture Mode
  • Depth深度テクスチャ
  • DepthNormals深度と法線をまとめたテクスチャ (RGビュー空間法線/BA深度)
  • MotionVectorsモーションベクトル (スクリーン上の動きを表すベクトル/RG16)

ドキュメント:

カメラと深度テクスチャ | Unity マニュアル [公式]

Depth Texture Helper Macros | Unity マニュアル [公式]

Depth Texture の使用 | Unity 2019.4 マニュアル [公式]

参考:

デプスバッファを利用する – Qiita

カメラから見た深度を描画する | LIGHT11

How to render object with just a depth texture? – Unity Forum

Custom shader not writing to depth buffer – Unity Forum

Is it possible to write into a depth render texture using SetRenderTarget – Unity Forum

Struggling to separate camera from depth texture – Unity Forum

Android depth texture precision issue – Unity Forum

Having trouble sampling the camera depth texture – Stack Overflow

事前深度パス (Pre-pass Z Write)

Pass
{
    ZWrite On
    ColorMask 0
}

(出典Unity マニュアル

(出典Unity Forum

ドキュメント:

Culling と Depth Testing | Unity 2018.4 マニュアル [公式]

ShaderLab Command: ZWrite | Unity マニュアル [公式]

参考:

Transparency Shader with ForwardBase and ForwardAdd? – Unity Forum

How can I add an extra pass to a Shader Graph? – Unity Forum

Question about ZWrite and transparency – Unity Forum

透過/半透明の描画

こちらのページを参照

参考:

Zバッファとレンダリング順の仕組み – Qiita

アウトラインを描画する

参考:

カメラからの深度情報を用いてアウトラインを描画する | LIGHT11

シングルパスステレオレンダリング

参考:

Getting the depth render texture in single-pass stereo rendering. – Unity Forum

Supporting Single Pass Stereo Rendering in Image Effects – Unity Forum

Reconstruct World Position from Depth Texture in Single-Pass Stereo VR – Unity Forum

デプス値を描画する

動画:

Grayscale Depending Z-Buffer Value

参考:

Shader Graph で Z バッファをテクスチャとして取得する | はなちるのマイノート

Grayscale Depending Z-Buffer | Shaders laboratory

ポストエフェクト

参考:

デプスバッファの内容を表示する | おもちゃラボ

SV_Depth

※ GPU による最適化が無効となるため、不必要に出力するべきではない。

ドキュメント:

SV_Depth – ピクセルシェーダーデプス出力 | Unity マニュアル [公式]

コード:

Write to Depth from Frag Shader (unitycoder) – GitHub Gist

参考:

Custom Depth | Vertex Fragment

Best Way to Blur a Depth Map – Unity Forum

What does Unity exactly do when we modify z buffer value using SV_Depth? – Unity Forum

Write to Depth Buffer using SV_DEPTH – Unity Forum

レイマーチング

フォワードレンダリングでは計算して求めた深度をデプスバッファへ書き込むことが出来ないと思っていたのですが、SV_Depth を使うと求めることが出来るようです。

—— 凹みTips

参考:

オブジェクトスペースの Raymarching をフォワードレンダリングでやってみた | 凹みTips

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Protected by reCAPTCHA