目的
Pure Baseの全ベースシェーダーで、MSAA環境におけるCutout境界の品質改善などに利用できる AlphaToMask を設定可能にする。
Rendering Modeの既定挙動を壊さず、必要なマテリアルだけが明示的にAlpha-to-Coverageを利用できる設計にする。
対象
PureBase/Unlit
PureBase/Toon
PureBase/PBR
PureBase/Hybrid
- ForwardBaseおよび必要に応じてForwardAddのShaderLab state
- 公開プロパティ、Material Inspector UI、シェーダー契約、テスト
設計事項
実装前に次を確定する。
- 公開プロパティ名と型。
- 既定値をOffとして既存描画を維持すること。
AlphaToMask を適用するPass。
- Opaque / Cutout / Transparentそれぞれで設定を許可するか、UI上の表示条件を設けるか。
- Transparentで有効化した場合の挙動をサポート対象とするか。
- ForwardAddへ適用する必要があるか。
- Rendering Mode切り替え時に値を保持するか、モード標準値へ同期するか。
- MSAA無効環境で描画結果へ不要な影響を与えないこと。
実装要件
- 4つのベースシェーダーで同じプロパティ名と既定値を使用する。
- 既定値では現行描画結果を変更しない。
- Cutoutの既存
_Cutoff 契約と競合しない。
- Rendering Mode normalizerがユーザー指定値を不要に上書きしない。
- 複数マテリアル選択、Undo、保存、再読み込みで値が維持される。
- オプションモジュールなしで正常に動作する。
完了条件
優先順位
Outline (#49) の次に実装する。
目的
Pure Baseの全ベースシェーダーで、MSAA環境におけるCutout境界の品質改善などに利用できる
AlphaToMaskを設定可能にする。Rendering Modeの既定挙動を壊さず、必要なマテリアルだけが明示的にAlpha-to-Coverageを利用できる設計にする。
対象
PureBase/UnlitPureBase/ToonPureBase/PBRPureBase/Hybrid設計事項
実装前に次を確定する。
AlphaToMaskを適用するPass。実装要件
_Cutoff契約と競合しない。完了条件
優先順位
Outline (#49) の次に実装する。