-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://codereview.secondlife.com/r/565/
-----------------------------------------------------------

(Updated March 21, 2012, 10:42 a.m.)


Review request for Viewer.


Changes
-------

Added a link to the latest builds of these changes.


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
-----

  indra/newview/app_settings/settings.xml 
51b2fd52e36aab8f670e0874e7e1472434ec4b4a 
  indra/newview/app_settings/shaders/class1/deferred/multiPointLightF.glsl 
51b2fd52e36aab8f670e0874e7e1472434ec4b4a 
  indra/newview/app_settings/shaders/class1/deferred/multiPointLightF.glsl 
51b2fd52e36aab8f670e0874e7e1472434ec4b4a 
  indra/newview/app_settings/settings.xml 
51b2fd52e36aab8f670e0874e7e1472434ec4b4a 
  doc/contributions.txt 51b2fd52e36aab8f670e0874e7e1472434ec4b4a 
  indra/newview/app_settings/shaders/class1/deferred/pointLightF.glsl 
51b2fd52e36aab8f670e0874e7e1472434ec4b4a 
  indra/newview/app_settings/shaders/class1/deferred/pointLightF.glsl 
51b2fd52e36aab8f670e0874e7e1472434ec4b4a 
  indra/newview/app_settings/shaders/class1/deferred/softenLightF.glsl 
51b2fd52e36aab8f670e0874e7e1472434ec4b4a 
  indra/newview/app_settings/shaders/class1/deferred/softenLightF.glsl 
51b2fd52e36aab8f670e0874e7e1472434ec4b4a 
  indra/newview/app_settings/shaders/class2/deferred/softenLightF.glsl 
51b2fd52e36aab8f670e0874e7e1472434ec4b4a 
  indra/newview/app_settings/shaders/class2/deferred/softenLightF.glsl 
51b2fd52e36aab8f670e0874e7e1472434ec4b4a 
  indra/newview/llviewercontrol.cpp 51b2fd52e36aab8f670e0874e7e1472434ec4b4a 
  indra/newview/pipeline.h 51b2fd52e36aab8f670e0874e7e1472434ec4b4a 
  indra/newview/pipeline.cpp 51b2fd52e36aab8f670e0874e7e1472434ec4b4a 
  indra/newview/pipeline.cpp 51b2fd52e36aab8f670e0874e7e1472434ec4b4a 
  indra/newview/pipeline.cpp 51b2fd52e36aab8f670e0874e7e1472434ec4b4a 

Diff: http://codereview.secondlife.com/r/565/diff/diff


Testing (updated)
-------

* 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

Reply via email to