Show/Hide Toolbars

Clarisse 3.6 User Guide

Navigation: Lighting and Rendering

Working with Shading Variables

Scroll Prev Top Next More

Traditionally, objects attributes are set directly with values which can be animated, textured or driven by environment variables. This classic approach of driving attributes with direct values can lead to situations where the number of nodes in a project can explode. For example, if each geometry has a material and each material has about 20 texture nodes (including dedicated texture maps) attached to it, then 100K different geometries ultimately leads to define about 2 millions texture nodes!


Shading variables have been designed to avoid this type of situation by giving means to make materials and their texture networks more manageable and reusable across different geometries. The whole idea behind shading variables is to think in templates by allowing users to specialize/drive their materials at the geometry level. Instead of putting explicit values to attributes such as filename defining a path to a texture, variables are bound to attributes. These variables called Shading Variables contextually drive attribute values during shading. This way materials and their texture network can be factorized and shared across multiple geometries thus avoiding node explosion.



Shading variables are not meant to construct full-fledged expressions and never will. There are a dynamic set of custom variables for which their values are defined contextually during rendering. Their evaluation is and must be very fast. Their usage doesn't produce any direct overhead on rendering time.


Copyright (C) 2009-2018 Isotropix. All rights reserved.