Announcement

Collapse
No announcement yet.

PLEASE bring back the ability to hide objects when using direct visualisation caustics

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • PLEASE bring back the ability to hide objects when using direct visualisation caustics

    I am getting a bit frustrated that this behavior changes in every version of vray. it's not a technique i use often, but it's an exceptionally valuable technique which i've used to do caustics across more than 50 high res images and animations.

    I have/had been using this approach for almost 10 years.
    Once vlado enabled the ability to use direct visualisation, it was possible to turn that on, check off dont render final image, and set up many frames of animation which take 5-10 minutes each, stacking and averaging them to get a clean, sharp result ready for cleaning up and laying over the render.
    One key thing which was critical to this working was being able to check off 'visible to camera', and the glass objects would not show up in the render - you'd see the caustics behind them.

    About 5 years ago, the behavior was changed and it no longer worked. there was no way to get the glass objects to not show up in the render when using this method. I was pretty frustrated about this and made a few posts on the forum about it. (https://forums.chaos.com/forum/v-ray...9-caustics-bug )

    Then in vray 5, suddenly the method worked again! you could tell glass objects to not show up in the direct visualization caustics pass.

    And now, in vray 6.3, it is once again, not possible.

    Why does this keep changing?



    Vray 6.3 - doesnt work

    Click image for larger version  Name:	LUbW4hH.jpg Views:	0 Size:	269.5 KB ID:	1183563


    Vray 5 - worked
    This was done with the glass objects not visible to camera, stacked, denoised, then projected back onto the floor surface and rendered as a pass to capture accurate reflections and refraction - and to enable to use of a single frames caustics with a moving camera animation. I have used this approach of pre-calculate and project caustics back into the scene on countless animation shots. It takes an hour to set up and renders super quick, I hope to keep using this technique for as long as i'm working on animations.

    Click image for larger version  Name:	working caustics.jpg Views:	0 Size:	99.5 KB ID:	1183564

    Same version of vray used on a silly insagram a post I made 2.5 years ago, from november 2020, shortly after updating to vray 5. You can see very clearly here that if the glass object was showing up, we'd see it - but we are looking straight through it and only seeing the results of the caustics. turning off visible to camera worked fine here.

    Click image for larger version  Name:	caustics 2.5years ago.jpg Views:	0 Size:	55.2 KB ID:	1183566


    This upload I made 4 years ago when I first complained the behavior had changed. This is in vray next. Nothing I did could get that glass sphere to stop showing up as black and show me the caustics behind it.

    Click image for larger version  Name:	caustics not working again.jpg Views:	0 Size:	99.0 KB ID:	1183565


    And some silly instagram posts I made 5.5 years ago when it worked. this was done in vray 3. Again, it's very clear that there are no black glass objects blocking us from seeing the direct visualisation caustics.

    Click image for larger version  Name:	caustics working oldest.jpg Views:	0 Size:	70.0 KB ID:	1183567



    Can we PLEASE update vray to finally lock this behavior in and allow glass objects to be transparent in a caustics pass? Maybe there's something I can type into the listener to change this? I dont really understand how this keeps switching.
    Attached Files
    Last edited by Neilg; 14-06-2023, 12:39 PM.


  • #2
    Thought up an odd way of achieving what you're after. Basically:
    1. "Don't render image" should be off
    2. You can use either Caustics method
    3. You set up a VRayOverrideMtl in the refraction slot of which you plug a black diffuse, white refraction, IOR 1 shader (basically invisible)
    4. Put the "invisible" shader on a plane, which sits in front of the camera
    5. Disable GI
    6. VRaySun does not affect diffuse/specular etc.
    7. Render -> The RGB should basically be a Caustics pass

    Check this scene.
    Aleksandar Hadzhiev | chaos.com
    Chaos Support Representative | contact us

    Comment


    • #3
      Originally posted by hermit.crab View Post
      Thought up an odd way of achieving what you're after. Basically:
      1. "Don't render image" should be off
      2. You can use either Caustics method
      3. You set up a VRayOverrideMtl in the refraction slot of which you plug a black diffuse, white refraction, IOR 1 shader (basically invisible)
      4. Put the "invisible" shader on a plane, which sits in front of the camera
      5. Disable GI
      6. VRaySun does not affect diffuse/specular etc.
      7. Render -> The RGB should basically be a Caustics pass

      Check this scene.
      Thank you!!
      This works well - but i've noticed something a little strange about the render result.

      If i hide the plane and render, obviously the teapot shows up - but I get the raw pixels from the caustics calculation pass.
      Click image for larger version

Name:	caustics-noplane.jpg
Views:	169
Size:	380.3 KB
ID:	1183814

      With the plane visible, the caustics pass gets softened and loses some information.
      Click image for larger version

Name:	caustics-plane.jpg
Views:	168
Size:	327.5 KB
ID:	1183815


      I've dropped search distance to the lowest it can go, turned filtering off etc - do you know why i'm not able to get the same result with the plane on?

      It's not that big of a deal and rendering an additional pass to stack will probably solve it, but the sharpness and clarity of the raw data would be preferable.
      Attached Files

      Comment


      • #4
        Hm. There seems to be some kind of default filtering when rendering through refractive objects (regardless of IOR). I'll see if there's another workaround.
        Aleksandar Hadzhiev | chaos.com
        Chaos Support Representative | contact us

        Comment


        • #5
          Originally posted by hermit.crab View Post
          Hm. There seems to be some kind of default filtering when rendering through refractive objects (regardless of IOR). I'll see if there's another workaround.
          Unfortunately, also your workaround doesnt work at all in some circumstances. I was just fighting this on a real project for hours and set up a test scene where it's also behaving the same. That 'filtering' gets even harsher, clamps, and makes this method unworkable with soft gradients in the caustics.

          Here's dont render final image turned on - this is what I want it to look like, but my object to be missing.

          Click image for larger version  Name:	P0FWL9Q.jpg Views:	0 Size:	100.3 KB ID:	1187014

          If I set it up exactly as your scene (I merged the materials in, it's exact), the render phase destroys most of the caustics pass. this is the same as above but just turning off don't render final image.
          If I raise the search distance above 1, it keeps some of them, but blurs it. I cant use that. I want the EXACT output from direct visualization.

          Click image for larger version  Name:	b4XtWNH.jpg Views:	0 Size:	56.7 KB ID:	1187015


          Here is the scene, you can try the above and also see if you can get it to match while not rendering the pepper object.

          https://we.tl/t-QNRvGqWiqS

          Comment

          Working...
          X