Announcement

Collapse
No announcement yet.

Irradiance Map Min/Max Values

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

  • Irradiance Map Min/Max Values

    What are good/standard IRMap values? The default presets seem to be overkill - and need to be changed depending on final resolution. I am always guessing here.

    1) 3200x2400 pixels still?

    2) 720x480 animation?

    Also, should we probably use 0.3 Dist. Threshold? 0.1 Seems to take up way too much time.
    LunarStudio Architectural Renderings
    HDRSource HDR & sIBL Libraries
    Lunarlog - LunarStudio and HDRSource Blog

  • #2
    No one answer.

    Well the problem is there IS no one answer to that. Whatever I say, 10 people behind me might give 10 different answers.

    I would say ultimatly the best values are the LOWEST values that give you the results that you are happy with.

    I work in a design environment that is nothing short of war. Meaning often I am making a bunch of changes to a rendering/animation and before I can even get all those changes made, they will make changes to THOSE changes. And so forth. Imagine 5 minutes before the world premiere of the Incredibles if Brad Bird would have said, "You know, I think I want their costumes to be blue instead of red". If you can imagine what that would be like, that's the environment I work in.

    But anyway.. back to the question. Use the lowest settings (on everything including material subdivisions) that give you results you are happy with. I've even used light cache subdivisions as low as 125 and still gotten results that I was happy with, although I may have had to do a couple minutes of photoshop work on it afterward to fix a couple of areas. But realize that what may have worked fine on one scene.. may give you noise, blotches, etc. on another. So you still may have to do some tweaking from scene to scene. I use all low setting for stills. And often will just fix anything that I may not be happy with in photoshop before I will up the settings. And if I'm not mistaken Vray is optimized for animation resolutions (720x486).. meaning that using high settings for higher resolutions may be overkill. I've many times succesfully rendered out a resolution of something around 720x486 (and sometimes ever lower) and saved the irradiance map and light cache and reused them for much higher res renderings.

    Of course now animations are another beast. Since the GI is an approximation (assuming you aren't using any brute force methods), getting the consistancy from frame to frame is the problem. Each frame may look fine by itself, but an inconsistant GI solution from frame to frame causes all kinds of flickering and blotcheness, etc. Here is where you don't want to skimp on the settings. Here is where I do the exact opposite. I use all the highest settings I can and see what the render times are like and if it's doable, and only decrease the settings as necissary to reduce the render times. This is because I don't have time to let our renderfarm render overnight only to find that I have a flickering in the GI the next morning. Also where you might use interpolation on material reflection and refraction for stills, I would advice against it for an animation. I'm debating weither or not using interpolation on materials actually reduces the render time since it has to do additional prepasses. However, I've had nothing but problems with using reflection/refraction interpolation in an animation.

    Do this a couple of times (low setting for stills and increase as necissary and high setting for animation and decrease as necissary) and you will settle in on some "standard" settings that work for you (but may not work for me and vice versa) that you will be at least able to use as a starting point.

    As far as using .3 for Dist thresh (instead of .1), on my sample scene I use for testing purposes, it actually increased my render time slightly with no noticable change in the rendering. I set it up to 1.0 and it didn't reduce the render time. Again, on another scene it may make all the difference. That's what makes it that there is no one answer to your question.

    Comment


    • #3
      Mike....welcome to the world of arch vis and dealing with architects. I'm a architect btw.

      Comment


      • #4
        siliconbauhaus,

        Thanks! Yea, I have an architectural degree also (and a degree in construction management), but after school never pursued getting a licence because I saw too much advesarial relationships in construction. In this sue-happy society we live in the second ANYTHING goes wrong on a construction project (and it will) you have three parties pointing fingers at each other asking who's going to pay for it (the owner, the contractor/sub-contractors, and the architects/engineers). I found that I was spending upwards of 1/3 or my time simply keeping a paper trail of EVERY word that was ever exchanged just to cover my a$$. And that amount of my time was increasing day by day. So I realized that it wasn't for me, and being the geek that I am had utilized a lot of 3D (self taught) in my college work where everyone else was doing physical models and hand sketches. This was back in the 3D studio Dos days.

        So I specialized in design visualization and have been wrestling images out of computers for the past 15 years. Global illumination has been the thing to tackle over the last couple of years. Now it seems to be brushed based modeling.

        Comment


        • #5
          I work in a design environment that is nothing short of war. Meaning often I am making a bunch of changes to a rendering/animation and before I can even get all those changes made, they will make changes to THOSE changes.
          No need to imagine here as Siliconbauhaus can attest (we're working together on the same project.) 7 female interior designers have been on us for a month - they say women have better color perception...

          Anyways, yes interpolation I recommend to turn off. I've experienced nothing but issues with that. I actually run scripts that kill off any interpolation in a scene.

          And yes, I understand there's no 'cookie cutter' type of answer, but there are prefered methods to doing things from a time versus quality standpoint.

          As for min/max values, my understanding is that lowering min/max values can have the same effect as reducing the actual image size for an irradiance map. I've halved the final resolution for my irradiance maps in the past (at 720x480 this would be 360x240) with no real noticeable degradation.

          Lightcache is resolution independant so that doesn't matter here.

          So it seems like you have a choice - lower the IRMap Min/Max values or lower the resolution of the IRMap. I suppose my question is which values do the experts here choose to use.
          LunarStudio Architectural Renderings
          HDRSource HDR & sIBL Libraries
          Lunarlog - LunarStudio and HDRSource Blog

          Comment


          • #6
            Originally posted by jujubee View Post
            Anyways, yes interpolation I recommend to turn off. I've experienced nothing but issues with that. I actually run scripts that kill off any interpolation in a scene.
            You know.. that would be a good feature for Vlado to add to the global settings. A switch to turn on and off reflection/refraction interpolation.

            Comment


            • #7
              Yeah actually that would be rather handy for a lot of people.
              LunarStudio Architectural Renderings
              HDRSource HDR & sIBL Libraries
              Lunarlog - LunarStudio and HDRSource Blog

              Comment


              • #8
                I think I know what script Juju uses.

                Code:
                (
                    local refl_state = false
                    local refr_state = false
                
                
                fn interp_toggler_sel refl_state refr_state = (
                s= selection as array
                
                for p in s where superclassof p ==  GeometryClass do(
                if classof p.material == VRayMtl do (
                if refl_state ==true then (
                if p.material.reflection_useInterpolation == off do(
                p.material.reflection_useInterpolation = on
                print ( p.material.name + " reflection interpolation has been turned ON")
                )) else (
                if p.material.reflection_useInterpolation == on do(
                p.material.reflection_useInterpolation = off
                print ( p.material.name + " reflection interpolation has been turned OFF")
                )
                )
                if refr_state == true then (
                if p.material.refraction_useInterpolation == off do (
                p.material.refraction_useInterpolation = on
                print ( p.material.name + " refraction interpolation has been turned ON")
                )) else (
                if p.material.refraction_useInterpolation == on do (
                p.material.refraction_useInterpolation = off
                print ( p.material.name + " refraction interpolation has been turned OFF")
                ))
                )
                if classof p.material == Multimaterial do (
                for i in p.material.materiallist do (
                if classof i == VRayMtl do(
                if refl_state ==true then (
                if i.reflection_useInterpolation == off do(
                i.reflection_useInterpolation = on
                print ( i.name + " reflection interpolation has been turned ON")
                )) else (
                if i.reflection_useInterpolation == on do(
                i.reflection_useInterpolation = off
                print ( i.name + " reflection interpolation has been turned OFF")
                ))
                    if refr_state == true then (
                        if i.refraction_useInterpolation == off do (
                        i.refraction_useInterpolation = on
                        print ( i.name + " refraction interpolation has been turned ON")
                            )
                        ) else (
                        if i.refraction_useInterpolation == on do (
                        i.refraction_useInterpolation = off
                        print ( i.name + " refraction interpolation has been turned OFF")
                        )
                    )
                )
                )
                )
                )
                
                )
                
                fn interp_toggler_all refl_state refr_state = (
                theMats=getclassinstances VRayMtl
                for i in theMats do(
                if refl_state ==true then (
                if i.reflection_useInterpolation == off do(
                i.reflection_useInterpolation = on
                print ( i.name + " reflection interpolation has been turned ON")
                )) else (
                if i.reflection_useInterpolation == on do(
                i.reflection_useInterpolation = off
                print ( i.name + " reflection interpolation has been turned OFF")
                ))
                    if refr_state == true then (
                        if i.refraction_useInterpolation == off do (
                        i.refraction_useInterpolation = on
                        print ( i.name + " refraction interpolation has been turned ON")
                            )
                        ) else (
                        if i.refraction_useInterpolation == on do (
                        i.refraction_useInterpolation = off
                        print ( i.name + " refraction interpolation has been turned OFF")
                        )
                    )
                )
                )
                
                
                
                
                rollout rolling "VRay Mats interp. switcher" width:216 height:120
                (
                    checkbox refl_chk "Reflection Interpolation On/Off" pos:[8,8] width:200 height:16
                    checkbox refr_chk "Refraction Interpolation On/Off" pos:[8,32] width:200 height:16
                    button btn1 "Change Materials For Selected Objects!" pos:[8,56] width:200 height:24
                    button btn2 "Change All Materials!" pos:[8,88] width:200 height:24
                    on refl_chk changed state do
                        refl_state = state
                    on refr_chk changed state do
                        refr_state = state
                    on btn1 pressed do
                        interp_toggler_sel refl_state refr_state
                    on btn2 pressed do
                        interp_toggler_all refl_state refr_state
                )
                createdialog rolling
                )
                This little tool will allow to switch interpolation on or off for the materials of selected objects (it should filter the selection properly, whatever's selected) or for all the scene materials.
                Copy the code and save it as a .ms file. run as you please to get the dialog.
                Lele
                Trouble Stirrer in RnD @ Chaos
                ----------------------
                emanuele.lecchi@chaos.com

                Disclaimer:
                The views and opinions expressed here are my own and do not represent those of Chaos Group, unless otherwise stated.

                Comment


                • #9
                  Thanks... that's will be a very useful script!

                  Comment

                  Working...
                  X