-
Notifications
You must be signed in to change notification settings - Fork 284
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added advanced diffuse shading models.
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.
- Loading branch information
Showing
9 changed files
with
121 additions
and
24 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
3.7.1-alpha.8514084 | ||
3.7.1-alpha.8545805 |