You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The traditional Lambertian model can only realistically simulate the diffuse component of _smooth_ surfaces; this commit adds two alternative models that give more realistic results for non-smooth surfaces:
The _Lommel-Seeliger_ model mimics very porous or dusty surfaces. While it has no parameters in and of itself, it is frequently used in a weighted average with the Lambertian model. To activate the Lommel-Seeliger model in POV-Ray, use `diffuse FLOAT lommel_seeliger on` for the pure model, or `diffuse FLOAT lommel_seeliger FLOAT` for a blend with the Lambertian model. The default is `lommel_seeliger 0.0`, indicating a blend of 0% Lommel-Seeliger and 100% Lambertian.
The _Oren-Nayar_ model extends the Lambertian model to mimic rough (but not porous) surfaces. To activate it in POV-Ray, use `diffuse FLOAT oren_nayar FLOAT`, where the parameter specifies the desired roughness (the _sigma_ parameter in the Oren-Nayar equations). The default is `oren_nayar 0.0`, indicating a perfectly smooth surface, in which case the Oren-Nayar model simplifies to the Lambertian model.
_NOTE:_ The new diffuse shading models are still highly experimental, and changes in syntax and/or functionality are almost guaranteed; most notably, the interaction with the `diffuse albedo FLOAT` syntax and the finish-level `fresnel` keyword still needs to be reviewed and possibly modified. Also, the parameterization of the Oren-Nayar model may be changed to better match the `roughness` parameterization for specular highlights.
0 commit comments