1 of 7

Midpoint Presentation

Order Independent Transparency

Sean Lilley

2 of 7

Current State

3 of 7

How it works

  • First pass: render transparent objects
    • Stores all fragments into a global array.

4 of 7

How it works

  • Second pass: resolve transparency
    • For each pixel on the screen, get all its fragments.
    • Sort by depth using bubble sort
    • Blend with colors together, and then blend with the background

5 of 7

Blending Issues

No moon spots visible through the cube

6 of 7

Depth Issues

Cube is always drawn above everything else in the scene

7 of 7

Moving Foward

  • Fix depth and blending issues
  • Look more into GL framebuffers
  • Test on more complicated models
  • Test on more models
  • Improve efficiency for the linked list method
  • Code the array method (using OpenCL for scan)
  • Get performance statistics
  • Think about other stuff to do with per-pixel fragment lists