Jump to content
  • Advertisement
Sign in to follow this  
vlj

Vulkan Vulkan: can render pass help with oit on tiled architecture?

This topic is 918 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I'm wondering if it's practically possible to do order independent transparency on mobile using render pass.

OIT requires fragment to store non depth rejected result to store color and depth. There are 2 know way to do this, one is using per pixel linked lists stored in a buffer but it misses data locality. The other way is through a per pixel buffer ( I think it's called k buffer) and per pixel atomic counter (or using shader interlock if available). This one is interesting since every data are pixel local. The resolve pass has only to access the buffer values from the previous pass.

However does it fit Vulkan render pass semantic? As far as I understand it express read from render target dependencies but in case of oit the kbuffer is written using image store and not rop. Additionally the big memory requirements for k buffer (typically 8 rgba8 values an 8 float values for depth) may not fit on chip memory for tile bin in mobile device.

Share this post


Link to post
Share on other sites
Advertisement

Hi,

 

does it fit the renderpass semantic? for the OIT recording, would say no.

The render passes are mostly designed to provide easy access of a previous pass output. Accessing the current framebuffer pixel atomically as you render is a different use-case.

 

The resolve pass does fit the semantic to a degree, as you express dependencies on the recording pass, however as you said there is no easy expression to express the K values you want to have on-chip per-tile.

 

http://on-demand.gputechconf.com/gtc/2014/presentations/S4385-order-independent-transparency-opengl.pdf (presentation that maybe contains some useful ideas for other OIT approaches)

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!