Download

Ahich is more efficient, cutout transparency or translucent transparencies?

so I am designing a cloud material, and this cloud material actually uses cutout transparency. :
KJzzhwV.png

However I want to add more wispiness to parts of the cloud and am looking into translucency to do that.
cde3b5899abc2ed7c277faa3227a8a805e7e5d06.jpeg
I noticed translucency doesn’t actually get lit by dynamic lights so i was curious if perhaps translucency was more efficient to use than cut-out opacity?

i am not that big expert so please verify from other sources but i believe cutout opacity si way more efficient/cheaper than translucency. if you want translucent like effect with cutout opacity mask use dither alpha node, it is surprisignly effective. hope it helps.

Cut-out CAN be more efficient than translucency, for two reasons:

  1. The graphics card may not have to read what’s below the pixel to calculate a blended value
  2. The graphics card may be able to update the Z buffer in a way that makes early-Z testing work

The specifics of these two options depend a lot on the specific hardware you’re running on, AND on the scene.
For example, if nothing will generally be behind the clouds, the the early Z testing doesn’t matter, because there’s nothing to occlude.

The only way to know whether this matter for your hardware and your art is to set up realistic scenes and measure on realistic hardware.
If the clouds aren’t large, covering the screen with translucency, but instead the edges are smallish fringes on the screen, then the translucency will probably not be a problem.
Large transparent areas, especially with a lot of overdraw, will be a problem, especially on mid-to-low-end hardware, though.

Definitely thanks for the info! ill check out the dither alpha node.

hmm well here is a close up of the clouds, the player will never be able to get this close but this should paint a better idea for how I’m using the cutout: Screen Shot 2016-06-27 at 6.34.29 PM.png

going back to what you were saying about rendering things behind the cutout opacities, these clouds are composed of 4 meshes, 3 cutouts layered and one opaque int he center. considering what you have said about cutout layering, would this approach be perhaps less efficient than say clouds that are build using translucent planes like this?
dr9SRdA.gif

I’ve since turned off the shadows that the cutout’s were casting and that has improved performance but I’m still debating whether i should use cutouts or translucency. I will need a lot of cloud cover on the screen at once whether that just means larger meshes or more of them, I still need to test that.

If I were you, I’d build a solid mesh with a solid material for the inner shapes of the clouds, and then build various fins/cards for the edges and whisps, that use a translucent material.
Make that happen, the measure performance. If performance in a real scene is okay, then you’re done!
The benefit of the opaque inner body is that that will render using the optimum static opaque geometry path. The second material for the transparent bits will then come after in the translucent pass, and as long as you don’t have too much overdraw, you’ll likely be fine.

So basically like the cloud int he second picture? Awesome, thanks ill give it a shot. :slight_smile:

How many clouds do you want on screen at once?

hundreds probably im not sure. clouds will be the only thing in the scene.

Any particular reason for using meshes? I’ve done some work with clouds, and started off with a mesh based approach. For example, these use meshes:

But they end up being very slow compared to raymarching in a post process material. I could show you the basics.