Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Center

Courtesy of Meindbender

...

Displacement Types - On the fly, Pretesselated and Vector

 

Center

1D displacement map (middle) applied to a simple plane. Height Maps contain displacement information only in the vertical direction

Image Modified

3D Vector displacement map (middle) applied to the same plane. Vector displacement can specify direction in all three axis
 

 

Maxwell Render has three methods of displacement:

...

Info

Vector displacement maps can be created in 3D sculpting applications such as ZBrush, Mudbox or 3DCoat.

...

Adding displacement to a material

Only one displacement component can be added to the material,  to ensure the continuity and physical integrity of the surface. To add it simply by right-click clicking in the Layers list area of the Material editor and choose the Displacement component , or from the dropdown menu (or using the Edit menu )of the Material Editor. 

 

Center

Image Removed

 

Image Added

To use displacement, you need an object with UVs and a displacement texture. The texture is similar to a usual grayscale bump map, with different shades of gray to describe elevation levels. Lighter grays will raise the geometry and darker grays will create cavities. Vector displacement maps are in color and 32bits, where red, green and blue describe both elevation and direction.

 

...

Image Modified

Example of very fine displacement using On the Fly displacement method

Displacement parameters

Map

Loads a displacement texture to access the displacement parameters. Maxwell Render can use 8, 16 or 32-bit grayscale displacement maps. It is recommended to use at least a 16-bit displacement image to create a smooth displacement, because 8-bit images may not contain enough gray levels (they contain only 256 height levels), so you may end seeing a stair-stepping effect if using 8-bit maps. 8-bit maps may be enough for displacements that do not require smooth transitions between grey levels, and additionally Maxwell Render’s texture interpolation helps to render even 8-bit images smoothly.

Info

Vector displacement always requires 32bit maps

Subdivision

Subdivision defines surface accuracy, ability and response to detail, independent of texture resolution. Before the surface is displaced, it is recursively subdivided, and this parameter is the measure of that subdivision level of the mesh: the higher the Subdivision value, the more accurate the result. However With the on-the-fly displacement method, the more the mesh is subdivided during render time, the more it will influence the render time (in addition to Height which has the most negative impact on render time), or in the case of vector displacement it will use more RAM. Subdivision has no negative effect on render time when using the Pretesselated methodor Vector methods. These will instead require more RAM when rendering, depending on the level of subdivision you choose.

Subdivision and texture resolution are strongly related:

...

  • When specifying a high Subdivision value but using a low resolution texture, the subdivision will reach the limit of the pixel detail of the texture and will not show a more detailed displacement. The displacement will reach the detail level of the texture. This is important to understand because you can optimize the displacement by starting with a high resolution texture and lower subdivision value, and keep raising the Subdivision value until the detail in the displacement is satisfactory.

An example of how surface detail is affected by increasing the Subdivision for the same texture can be seen below (this example uses the "Flat" subdivision method):

Different Subdivision values to control the subdivision of the mesh

...

The example above shows that going beyond a gain subdivision of 32 (in this particular case) would not add more detail while it would only increase the render time, or use more RAM. So it is important to avoid unnecessarily excessive Subdivision values. This depends of course on the resolution of your displacement map. A higher resolution displacement map will allow for more detail to be "extracted" from it.

...

Warning

Adaptive mode can add substantially to the render time, especially with big large displacement textures. This mode should be used mainly to “test” your displacement textures first to see how much detail can be obtained extracted from a given texture size. Then you can switch Adaptive off and manually raise the Subdivision value until a level of detail close to Adaptive mode has is reached.

Subdivision Method

Define the method used to subdivide the mesh between Flat and Catmull/Loop. The Flat method subdivides the mesh, maintaining the original shape (a subdivided cube keeps looking still looks like a sharp cube), while the Catmull/Loop method smooths the mesh while it it subdivides it, providing a more organic look (a subdivided cube appears like as round). exactly in the same way as the Pixar OpenSubdiv feature. This subdivision method can be useful if you want to accurately subdivide a mesh using a displacement map extracted from a sculpting application such as Mudbox/Zbrush/3DCoat. For such maps it is generally a good idea to use Catmull/Loop, as this will much better mimic how those applications subdivide the mesh for sculpting.

Offset

This parameter allows you to specify which gray level in the texture should represent zero displacement. It is important that you set this parameter correctly, based on the way the displacement map was created. For example, some displacement maps may use 50% gray as zero displacement (darker shades than 50% in the texture will create cavities, lighter than 50% will raise the geometry). In this case, you should set the Offset parameter to 0.5 to get a proper displacement. If your displacement map uses black to represent zero displacement, set Offset to 0.

...

  • None: No boundary interpolation behavior occurs. 
  • Edges: All the boundary edge-chains edges are sharp creases; boundary vertices are not affected. 
  • Edges and Corners: All the boundary edge-chains edges are sharp creases and boundary vertices with exactly two incident edges are sharp corners. 
  • Sharp: Smooths only near vertices that are not at a discontinuous boundary. All vertices on a discontinuous boundary are subdivided with a sharp rule (interpolated through). 

 

Height Map Properties (for 1D displacement only) 

...

This parameter sets the maximum distance displaced. It tells the engine how much real geometric height you want to displace on your base mesh. This value needs to be greater or less than zero for displacement to appear. The white areas of your texture will be raised to the height value you set. Displacement height can be set in percentages or in absolute units:

...

  • Centimeters (cm): Sets the height in centimeters to always displace to this given value regardless of object dimensions.

 

Vector 3D Properties (for 3D displacement only) 

Preset 

The different modeling and sculpting applications used to create vector displacement maps offer many different combinations of transforms and RGB mapping to compile the displacement information into the vector map. Given the huge amount of export map possibilities, Maxwell offers a collection of presets adjusted to the export methods of some popular sculpting tools that automatically set the fields with the corresponding options: 

  • Custom: Custom control over the Transform, RGB Mapping and Scale. 
  • ZBrush Tangent  
  • ZBrush World 
  • Mudbox Absolute Tangent 
  • Mudbox Object 
  • Mudbox World 
  • RealFlow 
  • Modo

Transform

Indicates if the displacement information coded in the vector file corresponds to displacement in Object, Tangent or World space at each point. It's derived from the settings used in the vector displacement map creation.

RGB Mapping

Indicates the order of how the axis information associated (X,Y,Z) are mapped to the R,G and ,B channels of the vector map. It's derived from the axis system with which the vector displacement map was created.

...

This parameter is used to control the overall size of the displacement (in X,Y,Z). Replaces the Height parameter (present on used in 1D displacement) because here the height values are derived from the map pixel values. It usually takes values lower than 1.0 on vector displacement maps saved in absolute tangent mode

Preset 

The different modeling and sculpting applications in the industry used to create vector displacement maps offer different settings of the previous parameters to compile the displacement information into the vector map. Given the huge amount of export map possibilities, Maxwell offers a collection of presets adjusted to the export methods of the main modeling tools that automatically set the fields with the corresponding options: 

...

.

...

 

...

Tips for using displacement

...

Tip

Tips to reduce the impact on render times:

Render times can vary greatly. These three factors play an important role in render times:

  • The base mesh vs. subdivision value (see below for details).
  • The height of displacement (for the On the Fly method, higher displacements will increase render times).
  • For the On the Fly displacement method: how many displaced surfaces and objects the rendered image contains. For example, a common usage of displacement may be for a brick wall seen from far away, taking up 30-40% of the rendered image. In this case, low height and subdivision values can be used, and the impact on render times will be minimal. On the other hand, a close-up render of a displacement object taking up the whole image, using high subdivision values, will need more time to render cleanly.

...