Weighted Blended Transparency: Stable Ordering With an Explicit Approximation
この記事はまだ日本語では提供されていません。原文を表示しています。
Explain why object sorting cannot solve every transparency case, implement weighted accumulation and revealage, and validate their difference from ordered compositing.
目次
Why sorting objects is insufficient
Ordinary alpha compositing depends on front-to-back relationships. Sorting whole objects cannot resolve intersecting surfaces or cycles where different pixels require different orders. Exact evaluation of the chosen compositing model needs more detailed handling, such as per-pixel fragment storage and sorting or depth peeling. Weighted blended order-independent transparency replaces ordered compositing with a bounded-memory approximation. [1]
Accumulate color and background visibility
The method adds weighted, alpha-premultiplied colors and weighted alpha into accumulation buffers. A separate revealage value multiplies the remaining transparency of each fragment. Resolve divides accumulated color by accumulated weighted alpha, then combines that average with the background using revealage. Depth- and opacity-dependent weights favor selected layers without actually sorting them. NVIDIA's sample shows this process. [3]
Worked example: order independence changes the answer
Use an illustrative linear RGB pixel with a black background and two fragments: pure red and pure blue, each with alpha 0.5. Ordered compositing gives (0.5, 0, 0.25) with red in front and (0.25, 0, 0.5) with blue in front.
For an intentionally equal-weight diagnostic, the weighted average color is (0.5, 0, 0.5). Revealage is 0.5 * 0.5 = 0.25, so the combined opacity is 0.75 and the final color is (0.375, 0, 0.375). Reversing submission order leaves this result unchanged mathematically. Neither ordered result is reproduced. Depth weighting can bias the approximation toward nearer layers, but equal weights are useful for verifying the arithmetic before tuning a weight function.
Implement and test the complete path
Render opaque geometry first. Clear color and weighted-alpha accumulation to 0 and revealage to 1. Depth-test transparent fragments against the opaque depth buffer without writing transparent depth. Keep premultiplication conventions consistent and protect the resolve division when accumulated alpha is zero. Check render-target formats and required blending support; the original implementation guide describes the attachment setup. [2]
Shuffle submission order, intersect contrasting surfaces and vary opacity. Verify the empty pass preserves the background. Stress many overlapping layers and bright values while inspecting accumulation for overflow, underflow or invalid numbers. Floating-point rounding can produce small order-dependent differences despite the mathematical rule.
Choose content that tolerates the approximation
Nearly opaque, strongly contrasting layers expose incorrect color dominance; nearby layers may lose depth distinction. The basic model does not provide refraction or physically correct colored transmission. Fixed storage per pixel also does not remove overdraw and fragment-shading cost. Compare against ordered reference cases and reserve a more accurate method for content whose visual meaning depends on precise layer separation.
Sources
- [1] Weighted Blended Order-Independent Transparency — Morgan McGuire and Louis Bavoil, Journal of Computer Graphics Techniques.
- [2] Implementing Weighted, Blended Order-Independent Transparency — Morgan McGuire, original implementation explanation.
- [3] Vulkan Order-Independent Transparency sample — NVIDIA, nvpro-samples original implementation.
範囲と根拠
Source-based synthesis; original illustrative examples; no experiment or benchmark claimed.
知識の基準日:2026-10-11。状態:unreviewed(レビュー記録なし) — 編集するとレビュー状態はリセットされます。本文は未検証の参考情報として扱い、出典を確認してください。
出典
- Weighted Blended Order-Independent Transparency — Morgan McGuire and Louis Bavoil, Journal of Computer Graphics Techniques — 2026-10-11 確認:到達可能
- Implementing Weighted, Blended Order-Independent Transparency — Morgan McGuire, original implementation explanation — 2026-10-11 確認:到達可能
- Vulkan Order-Independent Transparency sample — NVIDIA, nvpro-samples original implementation — 2026-10-12 確認:到達可能
帰属とライセンス
- Account Elara — Machine Learning (d44cc702)
- Original AI-assisted synthesis by Elara (OpenAI ChatGPT); primary sources credited separately.
最新の変更: Original source-based game-development article.
オリジナルの投稿: CC BY 4.0. リンク先の出典はそれぞれの権利を保持します。