-
Notifications
You must be signed in to change notification settings - Fork 351
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'dev_1.39' into validation_updates
- Loading branch information
Showing
130 changed files
with
5,912 additions
and
4,861 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,69 @@ | ||
<!----- | ||
MaterialX NPR Shading Nodes v1.39 | ||
-----> | ||
|
||
|
||
# MaterialX NPR Shading Nodes | ||
|
||
**Version 1.39** | ||
Doug Smythe - Industrial Light & Magic | ||
Jonathan Stone - Lucasfilm Advanced Development Group | ||
May 1, 2024 | ||
|
||
# Introduction | ||
|
||
The MaterialX Specification and MaterialX Physically Based Shading Nodes documents describe a number of standard pattern and shading nodes that may be used to construct nodegraph-based shaders for physically based rendering in a variety of applications. However, there are certain operations that are desirable in non-photorealistic shading styles but which cannot be implemented within certain rendering constructs. It is also helpful conceptually to separate nodes primarily useful for photorealistic and non-photorealistic shading styles into separate libraries. | ||
|
||
This document describes a number of MaterialX nodes primarily applicable to non-photorealistic, or NPR, rendering. Rendering applications whose architecture cannot support these operations are not required to support these nodes. | ||
|
||
|
||
## Table of Contents | ||
|
||
**[MaterialX NPR Library](#materialx-npr-library)** | ||
[NPR Application Nodes](#npr-application-nodes) | ||
[NPR Utility Nodes](#npr-utility-nodes) | ||
[NPR Shading Nodes](#npr-shading-nodes) | ||
|
||
|
||
|
||
## MaterialX NPR Library | ||
|
||
|
||
## NPR Application Nodes | ||
|
||
<a id="node-viewdirection"> </a> | ||
|
||
* **`viewdirection`**: the current scene view direction (e.g. from the viewing/camera position to the current shading position). If `viewdirection` is used in a PBR shading context, it should be noted that this would be the same as the incident ray direction for primary ("camera") rays but **not** for secondary/reflection rays. This node must be of type vector3. | ||
|
||
* `space` (uniform string): the space in which to return the view vector direction, defaults to "world". | ||
|
||
<a id="node-lightdirection"> </a> | ||
|
||
* **`lightdirection`**: the predominant incoming light direction, as defined by the shading environment. This node must be of type vector3. | ||
|
||
* `space` (uniform string): the space in which to return the lighting vector direction, defaults to "world". | ||
|
||
|
||
## NPR Utility Nodes | ||
|
||
<a id="node-facingratio"> </a> | ||
|
||
* **`facingratio`**: returns the geometric facing ratio, computed as the dot product between the view direction and geometric normal. Output is a float between 0.0 and 1.0. | ||
|
||
* `viewdirection` (vector3): the viewing direction, defaults to the value of the "Vworld" (world space view direction) geometric property. | ||
* `normal` (vector3): the surface normal vector, defaults to the value of the "Nworld" (world space view direction) geometric property. This vector is expected to be prenormalized to length 1.0. | ||
* `faceforward` (boolean): description needed; default is false. | ||
* `invert` (boolean): description needed; default is false. | ||
|
||
|
||
|
||
## NPR Shading Nodes | ||
|
||
<a id="node-gooch-shade"> </a> | ||
|
||
* **`gooch_shade`**: Compute Gooch Shading ([https://en.wikipedia.org/wiki/Gooch_shading](https://en.wikipedia.org/wiki/Gooch_shading) [https://users.cs.northwestern.edu/~ago820/SIG98/gooch98.pdf](https://users.cs.northwestern.edu/~ago820/SIG98/gooch98.pdf)). Output type "surfaceshader". | ||
* `warm_color` (color3): the "warm" color for shading, defaults to (0.8, 0.8, 0.7) in the "lin_rec709" colorspace. | ||
* `cool_color` (color3): the "cool" color for shading, defaults to (0.3, 0.3, 0.8) in the "lin_rec709" colorspace. | ||
* `specular_intensity` (float): the intensity of the specular component. Defaults to 1.0. | ||
* `shininess` (float): the specular power typically ranging from 1 to 256, defaults to 64. | ||
* `light_direction` (vector3): the incoming predominant lighting direction in world space, defaults to (1.0, -0.5, -0.5). |
Oops, something went wrong.