Announcement

Collapse
No announcement yet.

Get rid of isolated caustic points

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

  • Get rid of isolated caustic points

    I still continue with my periplus over the "vray caustic world", and now I'm trying get rid of some isolated caustic points.

    The target is not create a simple light caustic like a "one more detail on the scene". The idea is illuminate the complete scene only with caustic light. Lights comes from a full of water Jacuzzi a creates this wonderful typical caustic lighting.

    But the only results I can get is one of this two:

    Click image for larger version

Name:	Blurred.jpeg
Views:	1
Size:	375.2 KB
ID:	877596Click image for larger version

Name:	Sharp.jpeg
Views:	1
Size:	456.4 KB
ID:	877597

    If I didn't misunderstand anything, playing with global settings caustics, we have:

    Multiplier: For modify "intensity" of caustic light
    Search Distance: For search neighbor caustics photons (in cm?)
    Max Photons: Maximum number of photons per surface
    Max Density: This permit us balance quality and computer resources for giant photons maps, counting number of photons stored in an area defined by "Search Distance" parameter, and in place of add another photon, only add its intensity.

    By the way, I think description of documentation of "Max Density" haves an error. Where says "...within a distance specified by Max density." it should say "...within a distance specified by Search Distance.". Isn't it?.


    Well, the thing is, I understand that Vray searchs photons around photons till reach its "Max Density" amount. And it will blur more or less depending "Max Photons" attribute.

    But, If I raise "Max Photons", I lost the sharpness of my caustic, and if I try to play with Search Distance and Max Density, with the idea of Vray only renders caustics there where only be a determined number of photons inside the radius distance, I can't achieve what's I'm looking for.

    So, in short. There is any way to "cutoff" a low-density area of photons?. Something like a threshold below it Vray doesn't take photons into account?. I'm talking some like "Min Density" needed to be rendered.
    Would be possible reach this with a combination of parameters we have?. Or am I thinking in the wrong way?.

    The truth, I don't finish of understand the documentation definition of "Max Photons"; "this is the maximum number of photons that will be considered when rendering the caustics effect on a surface".

    Looking at results, I would say is like a "Blur Caustics", but the description... in "surface" is "Search Distance" and "Max Photons" is the maximum number of photons in that distance... would not be then density? (Nphoton/surface).

    I'm sorry, but I confess I'm a little lost. Help!.

  • #2
    Hello Reaversword
    A lot of caustics around you these days

    By the way, I think description of documentation of "Max Density" haves an error. Where says "...within a distance specified by Max density." it should say "...within a distance specified by Search Distance.". Isn't it?.

    I don't think there is an error here - Search Distance is using during the rendering of the caustics, Max Density is used during photons calculation. With this parameter you tell Vray - before storing a new photon in the map look for other photon in Max Density radius - if such photon exists just add the new energy to it without saving new photon - if not save the new photon.

    I understand that Vray searchs photons around photons till reach its "Max Density" amount. And it will blur more or less depending "Max Photons" attribute

    Vray calculate caustics at given point by adding area and number of photons boundaries - (Search distance / Max photons).
    So for example if we have Search Distance 10cm and max Photons 100 - what Vray does is to search photons in radius 10cm starting from the center of the circle moving to its edge until it reaches 100 photons. The end result will be averaged between all merged photons. Of course if in the given Search distance there are less than 100 photons Vray won't exceed the specified radius it will just merge the intensity of all founded photons .

    But, If I raise "Max Photons", I lost the sharpness of my caustic, and if I try to play with Search Distance and Max Density, with the idea of Vray only renders caustics there where only be a determined number of photons inside the radius distance, I can't achieve what's I'm looking for.

    You can raise Max Photons by maintaining the sharpness if you shoot more photons in the scene - the number of the photons are determined in Light Parameters > Caustics subdivs

    It would be easier for us if you post your scene and also post some examples of what are you trying to achieve.
    Svetlozar Draganov | Senior Manager 3D Support | contact us
    Chaos & Enscape & Cylindo are now one!

    Comment


    • #3
      In first, Svetlozar, thanks for accompany me in my travel through vray caustics.

      Ok. After reading your post, I -think- I have things more clear. Let's see:

      When we want create a render with caustics, first step is create light, refractor and receiver objects. Adjust number of caustic photons of lights in a high number like 1000 or 2000, render and take a look at our Ram. Easily we can finish render with 50-100 Millions of photons in our map (if we doesn't get out of Ram). Probably 80% of this photos are accumulated in the bright-convergent part of the caustic.

      So we can "limit" the density when we create our photon map with "Max Density" parameter in render globals, in Caustic section.
      What measure unity haves "Max Density" exactly? "1 squared centimeter / number of photons"?.

      In my example with a Max Density of 0.005 I went from 93 Million of stored photons to 17 Millions. With "0.01" to 13 Millions. (Much more suitable for low-memory machines, and renders almost very very equals between them).

      Or would be simply a matter of just experiment with valors, more than have an idea of what Vray gonna interpretate when user sets Max Density to 0.01?


      Once we have our map created, use MaxPhotons and Search Distance to optimize it telling Vray how many photons search in the distance we set.

      Still being so, when we limit with "Max Density" the photon map, Vray keep casting photons from light equally in all its surface and discard that ones that arrives to a Max Density zone, or it try to cast more photons from the point where it needs to complete the Low-Density lighted areas?
      Click image for larger version

Name:	CausticsDensity.jpg
Views:	1
Size:	202.1 KB
ID:	847540
      I hope with scheme would be easy to understand what I am trying to say. Light haves "equal density" at photon casting time, but receiver haves non-equal density. If vray discards high density photons, recognizes from where starting point of the light need to cast next photon to cover this low-density illuminated zone, for get rid of isolated photons and make it continous illumination?.
      I mean in my scheme a 5% of light surface finish lighting 37.5% of receiver for low photon density areas, and 60% finishes lightning a 15% of receiver for center high photon density area. So I understand Vray would need cast more photons in that 5% of the light surface to get cover the 37.5% of the receiver surface completely.
      What i don't know is if Vray cast photons from a light at different densities... then final brightness would be incorrect, because every photon haves the same quantity of energy... assuming light is uniform..

      I get good results, but still I have some disturbing isolated photons.. (and I raised the number of caustic photons casted).
      Click image for larger version

Name:	Casut.png
Views:	1
Size:	365.1 KB
ID:	847538
      For this scene, the correct way to go would be augment more the number of photons, with the hope that light photon casting resolution be more detailed, and how consequence we can fill the holes between the isolated points?.

      Because there is anyway to discard very very low density photons, right? (Something like Max Density, but being "Min Density" at render time).

      Here a good starting point (I think): CompCaustics.zip
      Last edited by Reaversword; 15-05-2013, 11:40 AM.

      Comment


      • #4
        Hello Reaversword
        Max Density parameter works the same way as Search Distance Parameter and its units equal to scene units - and the idea behind it is to optimize photons-map.
        Search Distance and Max Photos unlike Max Density are used for the actual rendering of the photons - once you have calculated Caustics map you can load it and tweak these values afterwards.
        When Max Density is used V-Ray doesn't shoot more rays in low-density area - it is just discards the ones in the Max Density area while keeping theirs energy in the already saved ones.

        I can see that the result you have now is much more clear than the previous one but it still have a lot of caustic noise.
        Unfortunately illuminating scene with only caustics without GI could take a lot of time if you want to remove the noise from the caustics. As you can see in your image the noise is mainly in areas with indirect illumination, if you add a caustic render element you will see that this noise is over the entire image - but since some of the areas are illuminated with direct lights , the noise is unnoticeable.
        If you turn on GI you will add some indirect illumination in the scene and the noise from the caustics won't be so noticeable.
        I did a few tests on your scene and I must say that 5000 caustics subdivisions are not enough to produce clear result - I increase subdivisions to 10 000 and I have also turned on GI.
        The result isn't perfectly clear , but it is a lot more clear that the result you have - the render time was 1h14min.
        Click image for larger version

Name:	render.jpg
Views:	1
Size:	24.4 KB
ID:	847569Click image for larger version

Name:	caustics.caustics.jpg
Views:	1
Size:	26.8 KB
ID:	847568

        Beauty Pass and Caustic Pass are attached - you can see that in the caustic map there is still a lot of noise but this noise is not noticeable in RGB pass because of Global Illumination.

        SCENE-FILE>>>>>>ComplexCaustics_09.zip
        Last edited by Svetlozar Draganov; 17-05-2013, 06:47 AM.
        Svetlozar Draganov | Senior Manager 3D Support | contact us
        Chaos & Enscape & Cylindo are now one!

        Comment


        • #5
          Hi Svetlozar.

          I see. Thank you for all the information. I understand light always shoot photons with equal intensity, and I imagine when higher is photon density, less intensity haves every photon, because will be more photons. Every caustic pattern is different, and if Vray would analyze how caustic photon map is to "readapt" the number of photons (resolution) of the specific parts of the lights sources needed to cover low-density areas, then it should low intensity of photons of higher resolution shot from this areas. But this "Adaptative Light Photon Map" sounds very very complicated to carry out.
          Another solution would be edit by hand the photon map with any low-density photons remover... but.

          So, being realistic and concious that people usually doesn't persist in render "only with caustics", I'll try do the best photon map I could with the fantastic tools I have!, then, although I'll use GI in the final render of my scene, I'm gonna try to make a photon map with 25.000 or 30.000 caustic subdivisions in each light and trust in it will be enough to cover the low density areas completely, leaning me in "Max Density" parameter to not running out of memory. Calculations will extend due to the giant amount of caustic photons that Vray gonna be discarding (although accumulating its intensity), but I'll make it be worth. Wish me luck, and thank you one more time for your time, support and patience. Now I understand perfectly what I am doing!!!.
          Last edited by Reaversword; 17-05-2013, 08:01 AM.

          Comment


          • #6
            As Svetlozar pointed out, you may need a very high number of photons to get a good result. The way I rendered the image below was to turn on the "Time Dependent" option in the "DMC Sampler" settings and render out an animation with the photon map as both primary and secondary engine. Each image would have a different photon pattern, so when I used the blendimg tool (http://www.spot3d.com/vray/misc/) I was able to get a cleaner result. A drawback is that method works for still images only though.

            Click image for larger version

Name:	photons_final_cc1.jpg
Views:	1
Size:	92.8 KB
ID:	847576

            Best regards,
            Vlado
            I only act like I know everything, Rogers.

            Comment


            • #7
              I didn't know about this tool (blendimg). I guess is something similar to some filters of compositing apps like Maya Composite (math ops node in screen mode) or Nuke. I'll take it a look.

              I didn't realize we can play with "Time Dependent" to change the seed of the DMC pattern. Appears a cool trick. Would be cool if we could blend Photon Maps with different seed, but although its only for final renders, something is something.

              Anyway, surely the best I can do right now is check which process take less time, a big photon map of a single loooong render (for create photon map), or make 3 or 4 quick renders and blend them with blendimg.

              Options, options. Good to have it!.

              Thanks for open a new possibility Vlado!.

              Comment


              • #8
                The cool thing about the blendimg approach is that you can render the animation on the network. In my case I think I rendered about 500 frames where each frame was a few minutes. Because of the blending, there is no need to put very high settings for lights, reflections, AA etc.

                Best regards,
                Vlado
                I only act like I know everything, Rogers.

                Comment

                Working...
                X