Author Topic: Z-Depth propagation through refraction and reflections  (Read 3594 times)

2020-09-01, 00:50:03

bmartinez

  • Users
  • *
  • Posts: 1
    • View Profile
Hi, I'm really pleased with the release of Corona 6 and when I saw the propagation of Masks through reflection and refraction the immediate thing I thought was, What about Z-Depth?

It's a big issue with animations when you're doing the depth of field in post-production and Corona is not able to propagate Zdeph through refractive objects. Like for example in a house, the Z-depth channel will show the windows as solid objects instead of transparent and will create inaccuracies when doing DoF in post. This also affects Z-Depth in Reflections, if you have an image of a mirror, Zdeph will show it as a solid object instead of calculating the depth in the reflection.

Vray doesn't have this problem and is time-consuming to render the Z-Depth passes in a different engine just for this result.

Is this something you can incorporate on a Hotfix or the Next version? It will make the engine animation so much more robust for animation workflow.

I've have included some test to describe it better, A simple scene with windows and a glass object, in one of the Depth passes I hid the glass to illustrate the desired effect (but it doesn't work with the glass object)

I'd like to know the experiences of other artists working with animations and see if they encounter this issue.

Thank you all!

2020-10-05, 17:03:28
Reply #1

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 10882
  • Marcin
    • View Profile
Sorry for the lack of replies here. We are already aware of this issue and are planning to fix it either by improving the existing solution or by re-introducing the "visible in masks" toggle.

(Internal ID=559690034)

2021-03-23, 09:13:49
Reply #2

GeorgeK

  • Corona Team
  • Active Users
  • ****
  • Posts: 553
  • George
    • View Profile
Hi, as of the latest daily build of Corona 7 2021-03-22, options for propagation to some render elements (Mask, ID, Wire color, Z-depth, Texmap) were added, to enable or disable it simply tick on the Propagate element on each mask respectively (see attached).

Now it is possible for refractive propagation of masks to work along with Z-depth. You can find the latest DB here: [Link]
« Last Edit: 2021-03-23, 09:20:56 by GeorgeK »
For solutions and troubleshooting please visit - [link]
Please submit your tickets here - [link]

2021-05-20, 14:09:08
Reply #3

mcnamex

  • Active Users
  • **
  • Posts: 10
    • View Profile
Sorry for hijacking. But what about velocity data, is it possible to propagate this as well.

2021-08-12, 17:58:36
Reply #4

genesys

  • Active Users
  • **
  • Posts: 15
    • View Profile
What about depth propagation for reflections?


What would be best would be to make use of OpenEXR's deep-data feature which allows to store multiple values per pixel. Of course with multiple reflections AND refractions or glossy reflections/refractions that require multiple samples there would be some ambiguity on how to store these values, but even just storing three values per depth pixel for non glossy reflections and refractions like [primary ray depth][first reflection depth][first refraction depth after exit] could be very helpful

2021-08-19, 10:53:19
Reply #5

GeorgeK

  • Corona Team
  • Active Users
  • ****
  • Posts: 553
  • George
    • View Profile
Sorry for hijacking. But what about velocity data, is it possible to propagate this as well.

Currently not possible, can you please share a workflow as to how you could utilize it?
For solutions and troubleshooting please visit - [link]
Please submit your tickets here - [link]

2021-08-19, 11:01:26
Reply #6

GeorgeK

  • Corona Team
  • Active Users
  • ****
  • Posts: 553
  • George
    • View Profile
What about depth propagation for reflections?


What would be best would be to make use of OpenEXR's deep-data feature which allows to store multiple values per pixel. Of course with multiple reflections AND refractions or glossy reflections/refractions that require multiple samples there would be some ambiguity on how to store these values, but even just storing three values per depth pixel for non glossy reflections and refractions like [primary ray depth][first reflection depth][first refraction depth after exit] could be very helpful

Would it be possible to offer a practical example of this? Thank you.
For solutions and troubleshooting please visit - [link]
Please submit your tickets here - [link]