Vulkan transparency in viewport still unusable in Houdini 21

   4078   11   2
User Avatar
Member
15 posts
Joined: April 2016
Online
Trying to use the Vulkan viewport for transparency mapped hair cards is still unusable and unacceptable. The edges are not sharp but a pixelated mess even on high quality. There are still depth sorting and lighting issues. I don't know why SideFX has deemed this production ready, but it isn't for game dev.

Please tell me I'm missing some setting or something. I guess back to OpenGL again.

Edit: Well, OpenGL looks like it has all kinds of issues. Lights don't work at all. Wireframes don't show.
Edited by cmoss - Sept. 9, 2025 02:53:31
User Avatar
Member
742 posts
Joined: Aug. 2019
Offline
Vulkan viewport has to be the most disappointing update of Houdini. It's so bad. I really don't know how they have the audacity to make it the default option. Now Vulkan is pre-beta (at best) and OpenGL is getting depreciated. H21 is a DCC with a history of 30 years but with no production-ready viewport.
User Avatar
Member
15 posts
Joined: April 2016
Online
Until some form of order-independent transparency or alpha hashing is implemented, it looks like cutout is the only usable option in situations with overlapping transparent geometry. It seems like it uses any alpha value > 0 as 1, so adding a power after the alpha image in the material will allow you to control the alpha cutoff amount. I guess that will have to do for now, but hopefully this gets some attention in the future.
Edited by cmoss - Sept. 9, 2025 13:08:35
User Avatar
Staff
5336 posts
Joined: July 2005
Offline
Cutout transparency works well because that case is the one cutout was designed to solve. There are 4 transparency modes in the viewport -- None (ignore alpha entirely), Cutout (pass/fail depending on alpha value), Low (topmost face only), and Medium & High (Order independent transparency, 4 or 8 layers). Because of amount layering involved with those cards, even Medium/High transparency doesn't produce great results (transparency is a bit of a problem for rasterizers). Also, when Work Lights are active, the viewport is limited to Low quality transparency to maximize performance. If you add a light to the scene, you'll be able to compare Cutout, Low, and Medium. IMO, cutout definitely produces the best result, though Medium/High is a bit better than Low.

It'd be useful to add a parameter to the Visualize Properties SOP to force Cutout transparency. We have something similar for Sprites but it's not generalized to all material rendering. A full ray tracing pipeline would also produce better results, but that's a ways off.
User Avatar
Member
242 posts
Joined: Jan. 2016
Offline
Please, is transparency (vs @Alpha) being worked on?
Is there any estimate of when we could achieve better results in Vulkan?

Best regards, J.
User Avatar
Member
242 posts
Joined: Jan. 2016
Offline
Thank you for all the work you do to improve the Vulkan viewport! It is better and better each week.

Please as regards those Medium & High transparency, 4 or 8 layers. Can we have a setting to increase those to maybe 32, 64, or more?

Best regards, J.
User Avatar
Staff
5336 posts
Joined: July 2005
Offline
The Med/High transparency uses a z-sorted-sample technique that uses the MSAA feature of GPUs to render different depths to the samples instead of doing AA. Unfortunately GPUs are only capable of a maximum of 8 sample multisample buffers, so 8 samples is the max for this approach. Higher AA modes are done by making the framebuffer larger by 2 or 4x and consolidating samples from multiple pixels into the final pixel. While this approach works for AA, it doesn't for the OIT approach we're using (the GL high-quality transparency, which uses 16x AA, has some artifacts because of this). We'll need a different approach to do highly layered transparency.
User Avatar
Member
242 posts
Joined: Jan. 2016
Offline
Thank you for all the work you did in H22, great release! At the end of the Keynote, the list of new features includes this:

Geometry transparency mode for highly layered transparent surfaces

Please, how could I test this new feature? I have tried to copy few grids with Alpha and put a Light in the scene and the viewport looks similar to H21.

Best regards, J.
User Avatar
Staff
5336 posts
Joined: July 2005
Offline
Geometry transparency is something that is applied per geometry, rather than globally, due to its expense (it resorts the polygons on every camera change). Append a Visualize Properties SOP and change the Transparency Sorting parameter to "Enable".
User Avatar
Member
242 posts
Joined: Jan. 2016
Offline
Thank you so much! Are there any plans to render more than 8 layers of transparency with Vulkan?
User Avatar
Staff
5336 posts
Joined: July 2005
Offline
ikoon
Thank you so much! Are there any plans to render more than 8 layers of transparency with Vulkan?

Only with raytracing, when we get to that. The limit of 8 layers is due to the maximum of 8 samples in a multisample buffer, which is the limit for all GPUs out there, currently. OpenGL allowed higher "samples", but only by increasing the framebuffer size in the driver and combining multiple pixels during its AA resolve, and that didn't work well with the order-independent transparency trick we were using anyway.
User Avatar
Member
242 posts
Joined: Jan. 2016
Offline
Thank you for your clarification! I’m looking forward to any improvements you make to Vulkan. It’s looking great so far!
  • Quick Links