Jump to content

Order independent transparency: Difference between revisions

From David's Wiki
Line 21: Line 21:


The idea is to apply dithering, rendering objects as opaque.
The idea is to apply dithering, rendering objects as opaque.
When objects overlap, the depth test prevents objects in front from rendering over objects behind.
When objects overlap, the depth test prevents objects behind from rendering over objects in front.


==Per-Pixel Linked Lists==
==Per-Pixel Linked Lists==

Revision as of 21:27, 8 October 2025

Methods for order independent transparency

Additive Transparency

Take all the transparent colors and add them up. Addition is commutative so the order doesn't matter.

Weighted Blended Order Independent Transparency

See http://casual-effects.blogspot.com/2014/03/weighted-blended-order-independent.html

This builds upon additive transparency with two buffers:

  1. Accum buffer: weighted average of all premultiplied-alpha RGB colors.
  2. Revealage buffer: buffer representing how much of the opaque background is visible through the transparent layers.

Depth Peeling

Do several render passes. In each render pass, set a range of z values from back to front and render only z values within the threshold for each render pass.

Dual Depth Peeling

https://developer.download.nvidia.com/SDK/10/opengl/src/dual_depth_peeling/doc/DualDepthPeeling.pdf

Stochastic Transparency

https://research.nvidia.com/publication/2011-08_stochastic-transparency

The idea is to apply dithering, rendering objects as opaque. When objects overlap, the depth test prevents objects behind from rendering over objects in front.

Per-Pixel Linked Lists