目的
0.2.0で、Pure Baseの全ベースシェーダーからUnity Built-in Render Pipelineのステンシル操作を設定できるようにする。
既定値では現在の描画結果を変えず、必要なマテリアルだけがステンシルを利用できる設計にする。
対象
PureBase/Unlit
PureBase/Toon
PureBase/PBR
PureBase/Hybrid
- 関連する公開プロパティ、ShaderLab Pass、シェーダー契約、テスト
設計事項
実装前に次を確定する。
- 公開するステンシル設定
- Reference
- Read Mask
- Write Mask
- Compare Function
- Pass Operation
- Fail Operation
- ZFail Operation
- ステンシルを適用するPass
- ForwardBase
- ForwardAdd
- ShadowCaster
- Meta
- 全シェーダーで同じプロパティ名と既定値を使用するか
- 既定値で実質的にステンシル無効となり、既存マテリアルの描画を維持できるか
実装要件
- 4つのベースシェーダーで一貫した公開プロパティを使用する。
- Passごとの差異が必要な場合は、その理由を契約文書へ記載する。
- ステンシル設定以外のブレンド、深度、カリング、Cutout契約を変更しない。
- 不要なシェーダーバリアントを増やさない。
- オプションモジュールなしでも各シェーダーが正しく動作する。
完了条件
目的
0.2.0で、Pure Baseの全ベースシェーダーからUnity Built-in Render Pipelineのステンシル操作を設定できるようにする。
既定値では現在の描画結果を変えず、必要なマテリアルだけがステンシルを利用できる設計にする。
対象
PureBase/UnlitPureBase/ToonPureBase/PBRPureBase/Hybrid設計事項
実装前に次を確定する。
実装要件
完了条件