Thursday, July 30, 2015

Yet another renderer validation experiment

Now that I have polarization orientation on the iPad right I did another crude experiment.

  
Left: photo, Right:rendering
There is one glaring difference: the reflection at the bottom of the cube the ball is sitting on.   It looks like total internal reflection in the photo and definitely not in the rendering.   Could be uncareful position calibration and could be refractive index error in the input.   Or of course bug in the renderer.   Looks like to go further I will need to do a very careful scene setup, and use a camera that has raw output (sadly the iPhone doesn't as far as I know).

Question: what is the best BRDF model for materials such as glossy paint?  My first impulse is to go use the Disney model, but I bet there is something specific for architectural materials that is used in practice these days?



2 comments:

Shiya Priya said...

Nice Website...
Hey JOIN now fblikesbot.com and Increase Facebook Likes your profile and websites.
Increase Facebook Likes and check your website worth worth my websites
its may be very beneficial for you also really

Steve Queen said...

Dr. Shirley, did you end up using the Disney model? I have been playing around with modifying yours and Ashikhmin's glossy/diffuse model to use the Disney boost in the diffuse to reduce the fresnel darkening (without adding backscatter). Disney's does two things:

Ashikhmin-Shirley Diffuse (w/ Schlick's Fresnel approx.)

Ci = 1.0 - pow( 1.0 - 0.5*cosTheta_i, 5 );
Co = 1.0 - pow( 1.0 - 0.5*cosTheta_o, 5 );
fr = 28.0/23.0 * Rd[0]/PI * (1.0 - Rs[0])*Ci*Co;

Disney's (w/ Schlick Fresnel, no back-scatter)

Ci = 1.0 - 0.5*pow( 1.0 - cosTheta_i, 5 );
Co = 1.0 - 0.5*pow( 1.0 - cosTheta_o, 5 );
fr = Rd[0]/PI * (1.0 - Rs[0])*Ci*Co;

Notice where the 1/2 term has moved and also the 28/23 normalization is gone.

For me, Disney's is much closer to Lambert and removes the ugly end-darkening at grazing (visually appealing), BUT at higher cosine-exponents (>50) it doesn't pass the furnace test at all---putting energy in along the glancing edges.

After spending so much time trying improve specular reflectance model (e.g. Heitz's recent work), it seems the community is now turning on to the diffuse problem. The latest and greatest I've seen is Hammond's 2017 work:

https://www.gdcvault.com/play/1024478/PBR-Diffuse-Lighting-for-GGX