Jump to content

  • Log In with Google      Sign In   
  • Create Account

Single Pass Order Independent Transparency

Posted by Tocs, 06 January 2014 · 980 views

transparency OIT OpenGL
Over the past couple of days I wanted to try out order independent transparency. AMD showed it off in their "Mecha Demo". And with a little help from here I was able to get it functioning in my own graphics framework.

In Cyril's blog he uses some bindless buffer extensions from NVidia. In my implementation I use Image Load Store. (Cyril also had an implementation for this). I also swapped out an Atomic Counter for one of Cyril's bindless buffers. Allowing me to be independent of NVidia extensions (despite how cool bindless buffers are).

While I was basically re-implementing what Cyril had in his blog I learned a lot and it was a lot of fun. I don't know how efficient it is, my 770 GTX sometimes stutters when I fill up the screen with too many layers. But I am running a debug build with lots of checks and outputs so it's hard to tell what the source of lag is.

I paired the transparency stuff with tiled forward shading so I can evaluate many lights in a scene with transparent geometry. I haven't done much bench marking or optimization work. However, I was happy it functioned and thought it was worth a share.

Posted Image

Posted Image

However glass just doesn't look quite right without some refraction. And the table's texture is horrendous that close to the camera.

April 2014 »

131415 16 171819

Recent Comments