----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://codereview.secondlife.com/r/565/#review1183 -----------------------------------------------------------
I'd like to see the mis-named handleReleaseLUTBufferChanged be called handleLUTBufferChanged, and ideally I'd like some comment (probably in the LUT creation) about why the results of lookups should be multiplied by 4 (to avoid saturation in the LUT?). Otherwise, I reckon this is great. - Tofu Buzzard On March 21, 2012, 1:01 p.m., Geenz Spad wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://codereview.secondlife.com/r/565/ > ----------------------------------------------------------- > > (Updated March 21, 2012, 1:01 p.m.) > > > Review request for Viewer. > > > Description > ------- > > For a while now, Second Life's deferred renderer has had a somewhat "toonish" > looking specular model, as opposed to other platforms which try to go for > more physically accurate looking models, such as blinn-phong and similar. > > This feature changes the specular model to a technique called normalized > blinn-phong. The specular model applies the usual blinn-phong term (assume > NdotV to the power of n), multiplied by a normalization function of: > ((n + 2) * (n + 4)) / (8 * PI * (powf(2, -n/2) + n)) > Where n is the specular exponent. > > Gamma correction is also applied to the result to bring the visual results > more in line with what you see in high end game engines such as Unreal Engine > 3 and Frostbite 2, and stored in a lookup texture. > > Test plan can be found in the JIRA. > Repository can be found here: https://bitbucket.org/Geenz/viewer-nbp > > > This addresses bug STORM-1823. > http://jira.secondlife.com/browse/STORM-1823 > > > Diffs > ----- > > doc/contributions.txt b32595c5170f92ac2dbab635955b1b86634f1475 > indra/newview/app_settings/settings.xml > b32595c5170f92ac2dbab635955b1b86634f1475 > indra/newview/app_settings/shaders/class1/deferred/multiPointLightF.glsl > b32595c5170f92ac2dbab635955b1b86634f1475 > indra/newview/app_settings/shaders/class1/deferred/pointLightF.glsl > b32595c5170f92ac2dbab635955b1b86634f1475 > indra/newview/app_settings/shaders/class1/deferred/softenLightF.glsl > b32595c5170f92ac2dbab635955b1b86634f1475 > indra/newview/app_settings/shaders/class2/deferred/softenLightF.glsl > b32595c5170f92ac2dbab635955b1b86634f1475 > indra/newview/llviewercontrol.cpp b32595c5170f92ac2dbab635955b1b86634f1475 > indra/newview/pipeline.h b32595c5170f92ac2dbab635955b1b86634f1475 > indra/newview/pipeline.cpp b32595c5170f92ac2dbab635955b1b86634f1475 > > Diff: http://codereview.secondlife.com/r/565/diff/diff > > > Testing > ------- > > * Tested performance characteristics - both Normalized Blinn-Phong and the > previous model seem to have the same performance > * Checked the perceived "brightness" of the new highlights vs. the old ones - > new ones seem much brighter at higher shiny values than the old ones, and > seem much less "cartoonish" as such > * Checked the impact on different bumpiness values at the test rig at Hippo > Hollow - noticeable visual improvement across all objects (though low shiny > seems to have a much more subtle light reflectance term - this is expected > for normalized blinn-phong) > * Tested different LUT resolutions - best looking seems to be 512x128 with > seemingly no measurable decrease in performance > > You can find the latest build here: > http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/oz_project-8/rev/251711/index.html > > > Thanks, > > Geenz Spad > >
_______________________________________________ Policies and (un)subscribe information available here: http://wiki.secondlife.com/wiki/OpenSource-Dev Please read the policies before posting to keep unmoderated posting privileges