State of the SoC

2009-08-14

Permalink 08:50:20 pm, by Olliebrown Email , 505 words, 4410 views   English (US)
Categories: GSoC 2009, Code Progress

State of the SoC

With the end of GSoC approaching I want to take inventory of what has been achieved so far. To reiterate I do fully intend to stick with this and keep improving lighter2, assuming I have not overstayed my welcome.

Here's some results. I've spent today rendering images so that I can show what I can achieve with my photon mapper when I hold it's hand and try my best to get good results.

First up, an image of the Cornell Box with just basic raytracing. This scene was rendered with global ambient turned off, all lights forced to realistic attenuation and all light power scaled by 8.0, as such:

lighter2 --directlight=raytracer --noglobalambient --forcerealistic --lmdensity=20.0 --lightpowerscale=8.0 data/NewCornell

lighter2 raytraced cornell box
This image uses light maps with direct light only computed with raytracing. Note the dark shadows and the relatively small amount of light on the ceiling.

Next, an image of the Cornell Box with just Photon Mapping (for both direct and indirect light). Here we shot 5M photons and sampled 5K times for each density estimation. The command line was like such:

lighter2 --directlight=photonmapper --indirectlight=photonmapper --numphotons=5000000 --maxdensitysamples=5000 --sampledistance=20.0 --nofinalgather --lmdensity=20.0 --pmlightscale=100.0 data/NewCornell

lighter2 photon mapped Cornell Box
This image shows the results of lighter2 photon mapping only. The image captures all of the major features of the raytraced image (shadows, shapes of light attenuation) but it also captures some indirect light (though not yet with color). The shadows and ceiling are brighter in this image than in the raytraced image. Unfortunately, the noise is still too high but better than it has been all summer.

Lastly, an image of the Cornell Box with direct light done with raytracing and indirect light with photon mapping. It was VERY difficult to get the two values to have a comprable exposure (i.e. photon mapping was consistently too dark). Recent changes to the way light is scattered have made this matter worse but are conceptually necessary to get the simulation to be correct. Needless to say, I had to fudge the light power manually until the image 'looked' okay. Very imprecise but good enough for today. Here's what the final command line looked like. Note that I bumped the number of photons up to 25M to help fight noise which can be particularly noticeable for indirect lighting:

lighter2 --directlight=raytracer --noglobalambient --forcerealistic --lightpowerscale=8.0 --indirectlight=photonmapper --numphotons=25000000 --maxdensitysamples=5000 --sampledistance=20.0 --nofinalgather --lmdensity=20.0 --pmlightscale=16.0 data/NewCornell

lighter2 raytraced & photon mapped Cornell Box
This image shows the results of lighter2 combining raytracing and photon mapping (for direct and indirect light respectively). Note the brighter shadows and ceiling as well as the indirect brightening happening on the rear box. All of this increases the realism of the final image at the expense of noise but also requires significant hand-holding and tweaking of variables to achieve.

The code I check in today will be able to do all of this. Note that I used an old version of walktest.exe to render these images (from the 08 SOC branch for lighter2). The one in my branch is still not working with light maps for unknown reasons.

Trackback address for this post:

This is a captcha-picture. It is used to prevent mass-access by robots.
Please enter the characters from the image above. (case insensitive)

Comments, Trackbacks, Pingbacks:

Comment from: Xordan [Member]
"Note that I used an old version of walktest.exe to render these images (from the 08 SOC branch for lighter2). The one in my branch is still not working with light maps for unknown reasons."

I just make a checkout of your branch and looked to see what the problem is. Seems that you just happen to have a broken revision of CS (shaders don't compile). If you merge trunk (up to and including r32656 should be enough) into your branch it should then work (you may need to clear your shadercache too).
PermalinkPermalink 2009-08-22 @ 03:26
Comment from: Olliebrown [Member] Email
Ahhh, okay. I will see if this helps. I just did the merge of r32655-r32656 (figured I'd just do as you suggested rather then deal with all the latest revisions). I'll see if that fixes it.
PermalinkPermalink 2009-08-27 @ 17:16
Comment from: Olliebrown [Member] Email
BINGO! That fixed it.

One thing to note, I get an assert trigger if I compile in debug mode (which I want to do right now). It happens in the xml shader plugin inside ReadCondOperand() (condeval.cpp:1928). I've just been commenting out this assert so that it will leave me alone and everything still seems to be okay. Hope this is okay. Since my work is concerned with lighter2 mostly I've figured it wasn't a big deal.

Thanks for the tip! I'm still learning about best practices concerning branch maintenance and merging so I think the lesson here is check the revision checkin notes to make sure the trunk is stable before you merge.
PermalinkPermalink 2009-08-27 @ 20:42

Leave a comment:

Your email address will not be displayed on this site.
Your URL will be displayed.

Allowed XHTML tags: <p, ul, ol, li, dl, dt, dd, address, blockquote, ins, del, span, bdo, br, em, strong, dfn, code, samp, kdb, var, cite, abbr, acronym, q, sub, sup, tt, i, b, big, small>
(Line breaks become <br />)
(Set cookies for name, email and url)
(Allow users to contact you through a message form (your email will NOT be displayed.))
This is a captcha-picture. It is used to prevent mass-access by robots.
Please enter the characters from the image above. (case insensitive)

OllieBrown

Info about progress on my Google Summer of Code 2009 project on Advanced Lighting & Shading in CrystalSpace.

February 2012
Sun Mon Tue Wed Thu Fri Sat
 << <   > >>
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29      

Search

Misc

XML Feeds

What is RSS?

Who's Online?

An unexpected error has occured!

If this error persits, please report it to the administrator.

Go back to home page

Additional information about this error:

MySQL error!

Table 'evo1_sessions' is marked as crashed and should be repaired(Errno=1194)

Your query: Sessions: get list of relevant users.

      SELECT sess_user_ID
        
FROM evo1_sessions
WHERE sess_lastseen > "2012-02-09 16:41:39"
  AND sess_key IS NOT NULL