SF and IBL - question

2007-02-21
2013-05-28
  • kirkthibault

    kirkthibault - 2007-02-21

    Folks,

    In experimenting with SF and IBL using a high dynamic range image as lighting, I ran a test to get a sense of how the various shaders interact with IBL.  Here is a post of the result.

    http://kirkt.smugmug.com/photos/131172663-L.jpg

    I ran 5 shaders (uber, mirror, shiny, phong and glass) and varied a parameter for each shader to see how the shader behaved.

    It appears that SF converts an HDR used for IBL into a constellation of discreet light sources, based on the "Samples" parameter in the IBL light definition.  Some of the shaders that have a diffuse and specular calculation "reflect" this constellation and it is apparent in a rendering - as you can see in the UBER and PHONG shaders.  This method of converting the IBL to a constellation of discreet sources is similar to the "mksource" app in Radiance.  While it helps with noise in a GI render, is it possible to use the constellation of discreet sources as the diffuse component but reflection map the original HDR for the reflection component so that the discreet light source constellation does not appear in the render?

    Thanks,

    kirk

     
    • kirkthibault

      kirkthibault - 2007-02-21

      Also, Chris - are there any plans for implementing a more efficient and clean IBL strategy such as importance sampling?

      FYI - I rendered the above image on the command line to a *.hdr.  I then used Photosphere to tone-map the image and save as a LDR.

      The HDR used to light the scene was generated by photographing a 2.5" diam. chrome ball bearing and then doing the usual HDRShop stuff to get a light probe - I then converted that to Lat-Long within HDRShop.

       
      • Christopher Kulla

        Importance sampling is implemented already. In the ibl definition try setting "lock false". This will use unique samples per shading point instead of fixing them over the whole image.

        What really should happen though is for the specular component to be rendered seperately via sampling its reflection. I will try this out for the next version. Could you send me this test scene? It will avoid me having to recreate it.

        Thanks!

         
    • kirkthibault

      kirkthibault - 2007-02-21

      Cool.

      Here is the image with lock false.

      http://kirkt.smugmug.com/photos/131188539-L.jpg

      Kirk

       
    • kirkthibault

      kirkthibault - 2007-02-21

      By the way - nice work.  SF is proving to be a very cool tool and I am enjoying exploring it!

      Thanks Chris.

      Kirk

       
    • kone2006

      kone2006 - 2007-02-22

      hi kirkthibault,

      thanks for the useful tests.so setting lock false removes those specular lights problem?

       
    • kirkthibault

      kirkthibault - 2007-02-22

      It makes them less obvious but they are still there in the shaders that had them with lock true (uber, phong).  I will do a test with a single uber and phong sphere with lock true and false (using the same HDR image for the IBL) to give you a better sense of hte appearance.

      kirk

       
      • Christopher Kulla

        Yes I'm seeing that here too. This is more or less what I expected. In theory leaving lock set to false should eventually converge to the right answer, but it will take a long time (many samples). The ideal is to sample the image based light and the glossy reflection _together_ so the samples can be placed very efficiently - but this will require some changes to the current architecture. I also haven't ruled out the possibility of a bug somewhere that might be aggravating the problem.

        I will keep you posted.

         
    • Eugene

      Eugene - 2007-02-22

      I'm amzazed that Chris seems to anticipate what is needed before anyone asks for it.  I never even started thinking SF had importance sampling.

      @Kirk
      This is great testing.  I would love to see the scene file you used.  Would you be up for posting it somewhere for the public to check out?

       
    • kirkthibault

      kirkthibault - 2007-02-22

      @Eugene

      I will email it to you - do you have the facilities to post it available for sownload for others?    If so, feel free to post it.  The archive is zipped and it includes the .sc, .geo.sc, the "grid.jpg"  for the floor texture and the .hdr (the largest file) for the actual IBL.  It is about 3.5 MB - if this is okay for your email let me know and I will send it to you.

      kirk

       
    • kirkthibault

      kirkthibault - 2007-02-22

      @Chris

      Cool.

      I will also run the same tests with the samples increased (eg, 1024, 2048).

      I have a MacPro, DualCore 2.16Mhz (2 processors, 4 cores) that I can crunch with while I write reports.  :-)

      Kirk

       
    • kirkthibault

      kirkthibault - 2007-02-22
       
      • Christopher Kulla

        Seems to be getting there (slowly). For really high phong power, the reflection is almost completely specular, and the phong lobe very narrow, so its very rare for the ibl samples to actually fall inside. This is why the last remaining specks are going to be hard to get rid of with the current implementation.

         
    • kirkthibault

      kirkthibault - 2007-02-22

      Yeah - I would think there are better shader choices for a specular material than phong with a power of 50,000 too.

      Would adding jitter help?

      right now I am not specifying any, so i assume there is none, or some default value.  my aa for these renders are 0 2.  Default trace depths.  I have not explicitly specified any type of GI, although I tried a render with path, 8 samples and found the same general issue with phong and uber.

      Keep on rockin'.

      kirk

       
      • Christopher Kulla

        Jitter shouldn't make a difference. However setting your aa to 2/2 (which will disable adaptive sampling) should help. Otherwise those bright specks can get caught in between samples which can be misleading. With 2/2 you'll have 16 samples per pixel, so you can turn down the samples on the ibl a little bit, otherwise you'd have 1024*16 shadow rays being shot per pixel (!)

         

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.





No, thanks