Announcement

Collapse
No announcement yet.

Questions on Irradiance map baking (primary) with light cache (secondary)

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

  • Questions on Irradiance map baking (primary) with light cache (secondary)

    Hi,

    I have been meaning to ask something regarding baking GI with Irradiance map as primary engine and Light cache as secondary engine for some time...

    1. Let's say you render the Irradiance map to disk and with Light cache enabled as secondary engine (but not storing a light cache map). Then have the option "Do not render final image" enabled in order to render out only the Irradiance map to disk.
    2. Then, when the Irradiance map has been created, you set the primary engine (Irradiance map) to read the Irradiance map you just rendered, set the secondary engine to "None", disable "Do not render final image" and render the final image.

    In the scenario above, it seems that the Light cache is contributing to the Irradiance map baking, as there is information in areas that the camera does not see, and so it seems the Light cache is somehow in effect. Is this a correct assumption?
    Would the scenario above be an undocumented "trick" as one would think you would have to create a map for both the Irradiance and the Light cache, or is the above actually baking both Irradiance and Light cache into the one and the same map?

    We get pleasing results using the method above, but I'm personally confused, as I would have belived one must bake both Irradiance and Light cache, and then have both these engines active, reading their corresponding map during final image rendering.

    How would the workflow described in step 1-2 differ from also baking out the Light cache map and having both Irradiance and Light cache read their baked maps during final image rendering?

    Edit: typos...
    Last edited by Fredrik Averpil; 30-01-2013, 02:26 AM.
    Best Regards,
    Fredrik

  • #2
    my understanding is as follows..: the lightcache creates an approximation of the GI, with multiple bounces, then the irradiance map calculates the gi for the final image, once bounce only, with each sample of the imap shooting many many rays into the scene, each ray taking its value from the geometry it hits, which is lit by direct lighting, and the lightcache that has already been computed.

    since each imap sample is an averaged result of many points in the lightcache, it doesnt matter if its low quality.. as long as the values in each area are approximately correct.


    only the imap is used to actually store the final lighting in this scenario, as once it has been calculated you no longer need the lightcache, unless you are using it for glossy rays etc.

    im not sure waht you mean about "there is information in areas the camera does not see.. you may get a bit of info beyond the camera boundary due to sample interpolation, but this method is definitely view dependent.

    Comment


    • #3
      Hi super gnu,

      Ah, that would make sense.

      What I meant with "there is information in areas the camera does not see..." was that when viewing the irradiance map using the irradiancemap viewer, I can see large parts of the scene which is not in the camera's view.
      Best Regards,
      Fredrik

      Comment


      • #4
        Hello Fredrik Averpil,

        Sometimes it is possible to see Iradiance map samples - which are not in the camera's view.
        For example if you have any reflective or refractive objects - they bounce/bend camera rays outside of the camera's view - and Irradiance Map should be calculated on these areas too.
        Imagine that you have a camera pointed to a mirror - all the objects are not directly visible from the camera but they are visible in the mirror - in this situation Vray will shot a ray toward the mirror object , it will bounce off it and it will reach objects outside of camera's view. Since these objects are visible in the mirror they should have GI and Vray shoot IM sample to collect information about this area.
        Last edited by Svetlozar Draganov; 12-02-2013, 07:01 AM.
        Svetlozar Draganov | Senior Manager 3D Support | contact us
        Chaos & Enscape & Cylindo are now one!

        Comment


        • #5
          Hi Svetlozar,

          Thank you for the explanation. That makes sense
          Can you verify so I really got all of this right? (see below)

          Assuming the scenario in my first post where in step 1 only the irradiance map is created. Then, in step 2, the final image is rendered:
          When rendering the final image, reading an Irradiance map from file, I now understand that there is no need for a Light Cache (as secondary engine). The reason being that the sole purpose of the Light Cache in this case was to aid in creating the Irradiance map.

          Is this assumption correct?
          Last edited by Fredrik Averpil; 13-02-2013, 01:42 AM.
          Best Regards,
          Fredrik

          Comment


          • #6
            Irradiance Map collects and stores information for Secondary Bounce engine - Light Cache and Brutte Force.
            Since Secondary Bounce information is already stored into Irradiance map - there is no need to calculate it again in the "final rendering" stage - just load IM map and disable secondary engine.
            Of course there are some exceptions from this rule - for example if you want to use "Use Light Cache for glossy rays" - this information is not stored into IM , and in the final rendering stage Vray won't use LC for glossy rays if LC is disabled.

            The purpose of Light Cache or secondary bounce engine is to calculate Global Illumination for secound , third and etc bounces of light in the scene since Irradiance Map is responsible only for the first bounce.
            Svetlozar Draganov | Senior Manager 3D Support | contact us
            Chaos & Enscape & Cylindo are now one!

            Comment


            • #7
              Many thanks for this clarification.
              Best Regards,
              Fredrik

              Comment

              Working...
              X