optimizations - advanced

12
Optimizations - Advanced Table Of Contents Overview Sub-Surface Scattering Cut-off Thresholds Russian Roulette Ray Tracing Acceleration Overview Cinema 4D Advanced Optimization Settings Maya Advanced Optimization Settings Additional info, example images, and demo scenes to be added.

Upload: others

Post on 14-Mar-2022

14 views

Category:

Documents


0 download

TRANSCRIPT

Optimizations - Advanced

Table Of Contents

OverviewSub-Surface ScatteringCut-off ThresholdsRussian RouletteRay Tracing Acceleration

Overview

Cinema 4D Advanced Optimization Settings

Maya Advanced Optimization Settings

Additional info, example images, and demo scenes to be added.

3ds Max Advanced Optimization Settings

Houdini Advanced Optimization Settings

Katana Advanced Optimization Settings

Sub-Surface Scattering

Sub-Surface ScatteringCinema 4D

Maya Sub-Surface Scattering

3ds Max Sub-Surface Scattering

Houdini Sub-Surface Scattering

Katana Sub-Surface Scattering

This section covers Sub-Surface Scattering (SSS) across your entire scene, with options allowing you to quickly override the SSS mode and quality settings from one area.

Override Mode

Allows you to override all Sub-Surface Scattering effects in your scene from the following options:

None - No override, use the sub-surface scattering mode specified at the material level for each shader.Ray-Traced - Override all materials to use sub-surface scattering.Ray-TracedPoint-Based - Override all materials to use sub-surface scattering.Point-Based

You can use either point-based or ray-traced multiple sub-surface scattering in Redshift and both have their own advantages and disadvantages. In quite a few cases the techniques should look similar to each other but there are situations where the differences will be readily apparent, this is primarily due to the normalization of light that occurs when using point-based mode. Ray-traced mode does not normalize the light which can lead to differences that are most notable on thin objects or objects with more surface detail.

Please note that due to the differences in the two modes the final result can differ when comparing progressive ray-traced SSS to bucket-rendered point-based SSS. A comparison of the pros and cons for each SSS type is provided below:

Ray-Traced SSS

ProsMore detailed and accurateWorks in Progressive ModeAbility to isolate SSS effect between objects

ConsSlower and noisierMore samples needed for clean results

Point-Based SSS

ProsMuch faster and smoother

ConsLess detailed and accurateDoes work in Progressive ModenotRequires a "prepass" stageHigher chance of flickering in difficult lighting situationsNot possible to isolate SSS effect between objects which can result in unnecessary "light bleeding" artifacts.

Mode: Point-Based

Render Time: 13s

Ray-Traced

1m 11s

Mode

Specifies the sub-surface scattering computation Mode to be used from the following options:

Rebuild (don't save) - Redshift will compute new SSS points from scratch (for each frame) but will not save it to disk. The frame will be rendered to completion.Rebuild (prepass only) - Redshift will compute new SSS points from scratch (for each frame) and will save it to the user-specified file. The final rendering pass will be skipped.Rebuild - Redshift will compute new SSS points from scratch (for each frame) and will save it to the user-specified file. The frame will be rendered to completion.Load - Redshift skips the SSS computation stage and the data is loaded from the user-specified file in the parameter below. The frame will be rendered to completion.

File

Specifies where to save or load the sub-surface scattering data depending on the chosen sub-surface scattering mode as covered below.

Rebuild (prepass only) - Save sub-surface scattering data to the user-specified file.Rebuild - Save sub-surface scattering data to the user-specified file.

Load - Load sub-surface scattering data from the user-specified file.

Rate

Controls the spacing of the Point-Based SSS points by setting the number of samples used per pixel.

Similar to antialiasing, the more samples-per-pixel you use the more points will be created. More points can help catch small details but they also take longer to compute and use more memory.

Point-Based SSS with Progressive Rendering

If your scene is set up to use point-based SSS shaders and you render in progressive mode it will automatically use ray-traced SSS during progressive renders.

This is done so you can actually preview the SSS effect in progressive mode (and not just the diffuse texture) and tweak settings interactively - Point-Based SSS will be used for the final rendering when set to the Bucket render mode.still

The enclosed parameters only apply to Point-Based Sub-Surface Scattering.

Ray-Traced sub-surface scattering quality is bound exclusively by and unified sampling parametersmaterial level ray-traced SSS settings.

Point-Based sub-surface scattering data is view-dependent which means that it has to be re-generated when either the camera or any objects move. It also has to be regenerated if lights change position or intensity and if materials are adjusted. However, there are a few settings that do not affect the Point-Based SSS points:

All antialiasing settingsAny parameter that has to do with "number of samples."

If you are making any last-minute adjustments to your frame and tweaking these kinds of parameters you can save some time by re-using the sub-surface scattering you computed last time.

It is recommended that if you get visual artifacts to try a setting of "Medium (1 sample per pixel)" first and if that doesn't solve the issue then raise it to "High (4 samples per pixel)."

Please note that for the example images below the radius of the SSS effect was set low to exacerbate the issues of setting the Point-Based SSS Rate value too low.

Rate: Low

Too dark and suffers from many splotchy artifacts.

Medium

The cones look brighter (this is a more correct result) but there are still splotches in the thinner parts of the geometry (the tips of the cones).

The splotches are improved – especially near the tips of the cones.

Interpolation Quality

Controls the quality of the final render by determining how many SSS points are used to produce the final lighting at each pixel.

The higher the setting, the more points are used and the smaller the chance of any interpolation artifacts appearing on the surfaces of objects at the expense of slower render times.

GI Rays

Controls how many GI rays are scattered through objects using point-based SSS if is enabled.global illumination

If Global Illumination is enabled, GI lighting will also be computed for each SSS point. The "GI Rays" parameter is similar to the Brute-Force GI or Irradiance Cache GI "Rays" settings.

Cut-off Thresholds

We recommend leaving this setting to its default "Low" value and only use "Medium" or "High" if you observe SSS artifacts that look like 'lighting rings' or excessive flickering in animations.

Since subsurface scattering is generally a soft effect, it can often work with relatively few GI rays whereas GI on hard surfaces might require several hundred (or even thousands) rays. It is, therefore, recommended that you start with fairly low numbers such as the default 128 and raise this only if you get persistent lighting artifacts on subsurface scattering surfaces.

Cut-off ThresholdsCinema 4D

Maya Cut-off Thresholds

3ds Max Cut-off Thresholds

Houdini Cut-off Thresholds

Katana Cut-off Thresholds

The Cut-off Threshold set of parameters covered below allow the user to specify minimum values that are considered "black" and allow the renderer to terminate tracing earlier. 

As rays go through reflections, refractions or shadows, they get tinted and become dimmer. For example, a ray coming from the camera might hit a very faint mirror. Whatever is reflected on that mirror will be dim. When the rays become dim, they contribute very little to the final image so there is no point for the renderer to keep bouncing them around. 

A test scene below shows what happens if there are very bright objects in the scene and the cutoff thresholds are not low enough. In the middle of the scene there is a glass reflective and refractive sphere. Around it are 4 very bright self-illuminating spheres. The reflection and refraction trace depths are set to 16 so the reflections/refractions of the self-illuminating spheres 'repeat' many times inside the glass sphere.

For advanced users only! Incorrect settings can easily generate very noisy images or long rendering times!

The defaults should work fine for most scenes but, in some extreme cases, a very dark mirror might be reflecting an extremely bright piece of geometry. If the renderer "cuts off" the mirrored rays early, grain will appear. If you suspect this is happening to your scene, you can try lowering these numbers. To disable this optimization altogether, set the values to 0.0.

Reflection & Refraction Cut-Off: 0.1

This is an aggressive setting. Notice that several reflections/refractions are rendering very noisy.

0.01

A big improvement over the last image, but there's still some noise in the deeper reflections.

In this case, it produces a near-identical result to the reference image.

Diffuse

Sets the minimum value for cut-offs.diffuse ray

Higher values result in more dim rays being cut-off while lower values result in fewer dim rays being cut-off.

Reflection

Sets the minimum value for cut-offs.reflection ray

Higher values result in more dim rays being cut-off while lower values result in fewer dim rays being cut-off.

Refraction

Sets the minimum value for cut-offs.refraction ray

Higher values result in more dim rays being cut-off while lower values result in fewer dim rays being cut-off.

Shadow

Sets the minimum value for cut-offs.shadow ray

Higher values result in more dim rays being cut-off while lower values result in fewer dim rays being cut-off.

Direct Lighting

Sets the minimum value for cut-offs.direct lighting

Higher values result in more dim rays being cut-off while lower values result in fewer dim rays being cut-off.

Russian Roulette

Russian RouletteCinema 4D

Maya Russian Roulette

3ds Max Russian Roulette

Houdini Russian Roulette

Katana Russian Roulette

Russian-Roulette allows the renderer to shoot only one kind of ray once the importance of the ray is deemed low enough.

For example, a glass seen through a very faint mirror can often get away with sometimes shooting a reflection ray and other times shooting a refraction ray. Choosing which kind of ray to shoot (reflection or refraction) is driven by shader parameters. If a glass is very transparent and only has a very faint amount of reflection, the renderer will mostly choose refractive rays versus reflective ones.

Certain shaders need to shoot different kinds of rays. For example, a glass shader needs to shoot a ray for reflection and another one for multiplerefraction. The Redshift Material shader can shoot two reflection rays (Reflection & Coating Reflection each with different roughness values) and one refraction ray. When the rays of such shaders 'see' other shaders of the same kind, the number of rays that have to be shot can grow exponentially with increasing trace depths. The initial two rays of a glass shader might become 4 rays on the next trace depth, then 8, then 16, 32, 64, and so on.

Importance Threshold

Controls the point in which Redshift will start performing the Russian-Roulette optimization.

Very low Importance Threshold values mean "start Russian-Roulette early for very dim rays" while higher values mean "start Russian-Roulette even earlier for slightly brighter rays".

For advanced users only! Incorrect settings can easily generate very noisy images or long rendering times!

Starting Russian-Roulette early with Importance Threshold values that are too high can introduce grain artifacts. If you see grain in your tooglass and you are suspecting the Russian-Roulette optimization, you can try lowering this number to 0.001.

To disable this optimization completely, set it to 0.0.

Importance Threshold: 0.1

The renderer has to choose between reflection and refraction way too early which produces excessive noise!

0.01

While there is less noise compared to before, it's still visible. Russian-roulette now happens very rarely, which eliminates all noise.

Falloff

Controls how gradually Redshift into the Russian-Roulette optimization once it crosses the Importance Threshold value.eases

This means that once a ray's intensity crosses the "Importance Threshold" value the renderer   abruptly go into Russian Roulette but will do it more won'tgradually depending on the Falloff value. This improves potential noise-banding artifacts. 

Higher Falloff values result in the most transition into Russian-Roulette optimization while lower values result in the most transition.gradual abrupt

Ray Tracing Acceleration

Ray Tracing AccelerationCinema 4D

Maya Ray Tracing Acceleration

3ds Max Ray Tracing Acceleration

Houdini Ray Tracing Acceleration

Katana Ray Tracing Acceleration

Complete Construction Before Rendering

Setting this parameter to 0.0 will start Russian-Roulette optimization abruptly, while 1.0 eases into it very smoothly.

It's very rare that users will need to adjust this parameter, so it is advised to leave it at 0.5.

When enabled, it forces Redshift to load and process geometry upfront before any actual rendering starts. For certain scenes this can have a positive allperformance impact.

By default this is disabled and Redshift loads and optimizes geometry data the rendering process. This has the benefit of only loading/processing duringdata that is actually visible by rays. The drawback is that, in certain cases, the CPU utilization might be less than ideal which means that geometric data processing might take longer than needed.

Max Leaf Primitives

Controls the of the ray tracing acceleration structures.accuracy

Lower values can speed up difficult-to-ray-trace scenes such as ones that contain lots of hair, leaves or grass.

Fast Preprocessing

When in use, it allows Redshift to update scenes more quickly by aggressively optimizing/limiting what is processed from the scene before starting a render. This is ideal for maintaining high interactivity during but it comes at the expense of some ray tracing performance. Interactive Rendering

None - use Fast Preprocessing.NeverIPR Only (default) - use Fast Preprocessing during Interactive Rendering.OnlyAll - use Fast Preprocessing for both Interactive .Always and Final Rendering

By default Redshift uses Fast Preprocessing during IPR rendering to ensure that everything is appropriately updated during Final Renders.only

Please note, lower Max Leaf Primitive values increase the GPU memory requirements. We, therefore, advise using lower values (such as also4, instead of the default 8) on fairly lightweight scenes if your GPU already has plenty of VRAM.or

You can diagnose the ray tracing acceleration structure memory requirements by looking in the , at the memory usage statistics Redshift log fileprinted at the end of each frame.

If you notice differences between interactive rendering and final renders try setting Fast Preprocessing to None to see if that fixes the inconsistencies at the expense of responsiveness during Interactive Rendering.