About RMSGPSurface

About RMSGPSurface

RMSGPSurface is a general purpose shader designed specifically to deliver physically plausible results while taking advantage of the newest technologies in RPS. This node is available via the Maya Hypershade and has a matching appearance, GPSurface, in Slim.


Diffuse Behavior

RMSGPSurface uses the Oren-Nayar shading model for its diffuse component. The Oren-Nayar model takes roughness into account to simulate a surface that has a rough microtexture, it was originally developed to model the diffuse behavior of the moon. This model is good for representing the interaction of light with rough materials like paper. The primary roughness parameter is used to adjust the behavior of the diffuse. A roughness of 0 will cause the model to behave as a Lambertian surface.


Specular Behavior

To facilitate the modeling of general shiny surfaces, RMSGPSurface has two specular lobes. By default the secondary lobe is off, but if you wish to model appearances that have a dual lobe, such as paint with a clear coat, it is enabled by changing the Specular Blend parameter. This blends between the contribution of both specular lobes, and prevents doubling the specular contribution. Each specular lobe has a Roughness, a Color, a Specular Gain, and Anisotropy. The second lobe also has a Metallic parameter that causes it to behave like a metal. Changes to the Metallic parameter will defeat the Fresnel-computed reflection and transmission values (Kr and Kt respectively) and use the parameter's value as the minimum reflectivity. Setting Specular Blend to 1 while the Metallic parameter is set to a value > 0 will cause only one specular lobe to be in play. However, a blend value of 0 will cause a dieletric specular to be computed in addition to a metallic behavior. This is useful when simulating materials such as clear-coated metals. RMSGPSurface will compute reflections automatically if ray tracing is on.

  • Note

    The metal behavior will replace the secondary specular. The roughness, Anisotropy,and specularGain controls are used to control the metal behavior. This will allow you to simulate a clear coat on top of the metallic layer easily.

Sample counts are controlled in the Advanced Specular section of the shader. Prior to RMS 18, specular and light samples were managed using two numbers - a minimum sample count and maximum sample count. Beyond these two parameters the rate of sample increase per roughness was fixed. As of RMS 18, the Min sample settings have been replaced with Samples Per Degree (but are still separate for reflections and lights). The Max sample settings are unchanged and should still be used to prevent the number of samples (and, consequently, render times) from getting out of control. In general, if your renders are under-sampled (i.e. shadows and reflections are "noisy"), just increase the Samples Per Degree parameter by one or two samples, and that should do the trick.

In the Advanced section you will also find controls for creating a trace subset, which is a limited set of geometry that should be considered for tracing reflections. There is also a Specular Max Distance, which is the maximum distance to search for ray hits.


Subsurface Scattering

RMSGPSurface has built in support for ray-traced or point-based subsurface scattering. By default, ray-traced subsurface scattering is calculated; referencing a point cloud file bypasses the ray-traced calculations and uses the point cloud instead. The primary controls for subsurface scattering are the Albedo and SSS mix parameters and sample count parameters. There are dropdown lists that allow you to choose reasonable Albedo and Diffuse Mean Free Path (DMPF) settings for the material you are trying to model.

Tips

  • If you are using the ray-traced mode and the results are grainy, you will need to increase the sample counts.
  • You can increase performance by tweaking the subset and max distance parameters.
  • One key to using subsurface scattering is properly setting the SSS mix parameter, which controls the ratio of direct lighting to SSS lighting contribution to the final shading. If you dial up the strength of the SSS and mix in a little direct lighting with the SSS you can capture the high frequency lighting that will be missed by the SSS computation.
  • The ray-traced mode is better-suited to capturing the higher frequency lighting than the point-based solution.

New in RMS 18

  • PRMan 18 introduced a new, improved subsurface scattering algorithm that is now used by the GPSurface shader. Among the many benefits of this algorithm is that it provides "sharper" results, alleviating the need to blend in additional diffuse.
  • GPSurface now supports mapping the blend (Diffuse Mix) and the Diffuse Mean Free Path (DMFP). This allows adjustment to the subsurface scatter distance using maps.
  • As a performance improvement, SSS can be eliminated at a user-specified specular depth, via the Max SSS Depth parameter in Advanced Subsurfac. After this depth has been reached the surface will behave like a diffuse surface, ignoring the Diffuse Mix parameter.

For more information about subsurface scattering, see the PRMan application notes:


Using Layers

RMSGPSurface supports layering. Other Surface shaders attached to it via the Layer field in the Layers section. These additional layers are treated as co-shaders, each with its own mask to control compositing. You can choose to make a layer only contribute Specular light transport to the underlying layers. To keep the shaders behaving in a plausible manner, a surface that contributes specular will still have an alpha that represents the amount of light that is transmitted through the interface.

RMS 18 adds support for glass in the base layer of GPSurface. The glass layer provides the refraction and secondary specular behavior. The base GPSurface provides the specular and diffuse behavior. The Layers disclosure now has both a Layers 0 and a Glass Coshader parameter. Right-clicking will allow you to choose an existing glass shader or create a new one. Refraction Amount blends the glass contribution with the diffuse contribution (change the value to something greater than 1 to enable the behavior).


Emissive RMSGPSurface

With the introduction of Geometric Area Lights in PRMan 18, the RMSGPSurface shader can now be used to make any geometry emissive. Simply attach the Make Emmissive attribute to an object (Attributes -> RenderMan -> Make Emmissive) then use RMSGPsurface's Incandescence parameter to control how much light the object emits.


Presets

As of RMS 18, RMSGPSurface supports presets. Presets for Chrome, Clearcoat Brushed Brass, Red Metallic Fleck, Rough Copper, Skin (SSS), and Translucent Leaf, as well as the default (Base) settings, are included, out-of-the-box. Presets use the standard Maya mechanism - click the Presets button and select the material you want. Note, currently, switching directly from one preset to another is not possible; users must re-apply the Base settings and then select a new preset.