This guide shows how to optimize the settings of the V-Ray displacement feature for 3ds Max. Although, what can be learned about V-Ray here works on any compatible 3D application.
Displacement mapping is a powerful tool to add complex geometries on a surface without having to model them manually. It allows you to add realistic details to your models beyond what “classic” poly modeling can do.
For example, with just a few clicks, you can transform a simple square into a wall with visible sculpted elements such as bricks, plaster, or moldings.
First, let’s have a look at how displacement works as opposed to bump and normal mapping.
It’s not only color and reflection. Each surface contains a 3D structure through which, slick or rough, we perceive texture by how light bounces off its bumps and scratches. It’s this essential trait in materials that make them look interesting and real.
Given this all-important feature in real surfaces, 3D applications quickly incorporated tools in their material editors necessary to generate such an effect.
One is the bump map. By taking the placement of light on the model into consideration, it imitates a sculptural relief on the surface, portraying shadows and highlights to simulate texture and depth.
However, bump mapping doesn’t create a real 3D structure. Instead, it creates an illusion of 3D, “faking” it during the render process by having light bounce off simulated features that are not actually there. It does the job for small, finer details, and only in some angles. You wouldn’t, for example, see changes to the contour of the object. There are cases where it doesn’t look all that convincing.
Another method is the normal map (normal bump). It does the same job as bump mapping, except the details are created based on an RGB color map that encodes the angles of the surface. Like bump mapping though, the effect is purely based on rendering; it doesn’t add real detail to the geometry. It’s thus mostly used in computer games to add detail to models while keeping a low polycount.
Contrary to those methods, displacement mapping creates real 3D geometry; it casts real shadows and looks realistic from every angle. It does so by dividing the model’s polygons into a much denser mesh during the rendering process, which is either elevated or depressed on an up/down axis based on your chosen texture. The downside of this method is that it can create very heavy meshes that require a lot of RAM to process.
You can create a displacement map in Photoshop using photos of reference materials, sculpt it and bake in programs like Zbrush or Mudbox, or by using quick displacement map creators like CrazyBump or NormalMapOnline (Check out the software list at the end of the guide for creating such maps.)
You can also use Integer or Float maps. Artists working on character creation and other complicated sculptures usually export Float maps from software like Zbrush. In simpler modeling tasks like ArchViz, you can get away with Integer maps created from pictures of various surfaces.
There are two methods of setting up displacement in 3ds Max and V-Ray.
Using the VRayDisplacementMod modifier provides more flexibility in setting up displacement features and managing resources necessary for rendering.
Displacement features settings – These influence render times and RAM used by the scene. They need to be set to specific values to get the exact look of the displaced model you want. Therefore, these values should not be compromised for the sake of optimization. Please turn to the other settings listed below instead.
Quality settings – These set the displacement’s level of detail, number of subdivisions, and mesh density. They are decisive in the number of resources your scene needs for rendering, and we will optimize them in the next chapters of the guide.
Performance and other settings – These are special settings that affect rendering performance; they can be used in rare scenarios for debugging displacement-related issues, like artifacts or unusually high resources usage. We will talk about them at the end of the guide.
According to the V-ray manual, there are three types of mapping in VRayDisplacement Mod:
We will use VrayDisplacementMod modifier setup for tests because it has all the options which displacement from render settings provide and more, and it allows you to set displacement options separately for each model in a scene.
We will use various variants of the scene below for tests.
Hardware: Intel V2 processor, 2.80 GHz, 128 GB RAM
Software: 3dsMax 2017 + V-ray 4.10.02
GI was set to Light Cache + Brute Force, default settings
All other settings were left as default.
In the following tests and examples, we will have a look at V-Ray displacement options and find a way to create a render as detailed as we need it to be while using the least amount of computer resources possible.
The main quality setting in VrayDisplacementMod set to 3D mapping is Edge Length, which, by default, has View-dependent option enabled.
Before displacing the geometry, VRayDisplacementMod subdivides the triangles of the object into smaller ones. When the View-dependent option is on, the Edge Length value determines the maximum length of a sub-triangle edge in pixels.
For example, a value of 1.0 means that the longest edge of each sub-triangle will be about one pixel long when projected onscreen (i.e., the rendered image).
More, smaller sub-triangles are created at smaller values. That directly means more detail in displacement, slower render times, and, most importantly, more memory usage.
Let’s check the quality of displaced geometry and the number of used resources when this setting is set at various values.