Type - the method used to apply
displacement mapping:
2D mapping (landscape) - this method bases
the displacement on a texture map that is known in advance. The
displaced surface is rendered as a warped height-field based on that
texture map. The actual raytracing of the displaced surface is done in
texture space, and the result is mapped back into 3d space. The
advantage of this method is that it preserves all the details in the
displacement map. However, it requires that the object has valid texture
coordinates. You cannot use this method for 3d procedural textures or
other textures that use object or world coordinates. The displacement
map can take any values (as opposed to 3D mapping, which will ignore
values outside the 0.0-1.0 or black to white range).
3D mapping - this is a general method
which takes the original surface geometry and subdivides its triangles
into smaller sub-triangles which are then displaced. It can be applied
for arbitrary displacement maps with any kind of mapping. This method
can also use the displacement map specified in the object's material.
Note that with 3d mapping the displacement map's range of values must be
within the 0.0-1.0 range (black to white). Values outside of this range
will be clipped.
Subdivision - this method is similar to
the 3D mapping method, with the difference that it will apply a
subdivision scheme to the object, similarly to a MeshSmooth modifier.
For triangular portions of a mesh, the Loop subdivision scheme is used.
For quadrangular portions, the Catmull-Clark scheme is used. Other
polygons are first converted to triangles. If just want to smooth the
object, without applying a displacement map, set the
Amount parameter to 0.0.
Which method to use? In previous VRay versions, there was a great
difference between the performance of the two methods, with the
2D mapping being faster in many cases. With the
introduction of dynamic geometry handling in VRay 1.45.xx, 3d displacement
has become a lot faster for similar or better quality compared to the 2d
mapping. Still, for large displaced surfaces like oceans or mountains, the
2d mapping method might work better.
Also the 2D mapping method keeps the displacement map in a precompiled
state in memory. Large displacement maps can take a lot of RAM. It may be
more efficient to use 3D mapping in that case, since it can recycle the
memory used for the displaced geometry.
Texmap - the displacement map. This can be
any texture map - a bitmap, procedural map, 2d or 3d map etc. Note that you
can only use textures with explicit UV mapping with 2D displacement, while
with 3D displacement any texture can be used. The texture map is ignored if
the Use object mtl option is turned on.
Texture channel - the UVW channel that
will be used for displacement mapping. This must match the texture channel
specified in the texture map itself, if it uses explicit UVW mapping. This
is ignored if the Use object mtl option is
on.
Filter texmap - if this is on, the texture
map will be filtered. This is ignored if the Use
object mtl option is on.
Amount - the amount of displacement. A
value of 0.0 means the object will apear unchanged (or simply smoothed, if
you use the Subdivision method). Higher values
produce a greater displacement effect. This can also be negative, in which
case the displacement will push geometry inside the object.
Shift - this specifies a constant, which
will be added to the displacement map values, effectively shifting the
displaced surface up and down along the normals. This can be either positive
or negative.
Use water level - this will clip the
surface geometry in places where the displacement map value is below a
certain threshold. This can be used for clip mapping.
Water level - a displacement map value
below which geometry will be clipped.
2D mapping params
Resolution - this determines the
resolution of the displacement texture used by VRay. If the texture map is
a bitmap, it would be best to match this resolution to the size of the
bitmap. For procedural 2d maps, the resolution is determined by the desired
quality and detail in the displacement. Note that VRay will also
automatically generate a normals map based on the displacement map, to
compensate for details not captured by the actual displaced surface.
Precision - this parameter is related to
the curvature of the displaced surface; flat surfaces can do with a lower
precision (for a perfectly flat plane you can use 1), more curved surfaces
require higher values. If the precision is not high enough you can get dark
spots ("surface acne") on the displacement. Lower values compute faster.
Shift by average - this will automatically
compute a Shift value based on the average values in the displacement map.
Tight bounds - this parameter will cause
VRay to compute more precise bounding volumes for the displaced triangles,
leading to slightly better rendering times.
3D mapping/subdivision params
Edge length - this determines the quality
of the displacement. Each triangle of the original mesh is subdivided into a
number of subtriangles. More subtriangles mean more detail in the
displacement, slower rendering times and more RAM usage. Less subtriangles
mean less detail, faster rendering and less RAM. The meaning of
Edge length depends on the View-dependent
parameter below.
View-dependent - when this is on,
Edge length determines the maximum length of
a subtriangle edge, in pixels. A value of 1.0 means that the longest edge of
each subtriangle will be about one pixel long when projected on the screen.
When View-dependent is off, Edge length is the maximum subtriangle edge
length in world units.
Max. subdivs - this controls the maximum
subtriangles generated from any triangle of the original mesh. The value is
in fact the square root of the maximum number of subtriangles. For example,
a value of 256 means that at most 256 x 256 = 65536 subtriangles will be
generated for any given original triangle. It is not a good idea to keep
this value very high. If you need to use higher values, it will be better to
tesselate the original mesh itself into smaller triangles instead. From
build 1.45.20 onward, the actual subdivisions for a triangle are rounded up
to the nearest power of two (this makes it easier to avoid gaps because of
different tesselation on neighboring triangles).
Tight bounds - when this is on, VRay will
try to compute the exact bounding volume of the displaced triangles from the
original mesh. This requires pre-sampling of the displacement texture, but
the rendering will be faster, if the texture has large black or white areas.
However, if the displacement texture is slow to evaluate and varies a lot
between full black and white, if may be faster to turn this option off. When
it is off, VRay will assume worst-case bounding volumes, and will not
presample the texture. With the Subdivision
method VRay will always compute the exact bounding volume and this
parameter is ignored.
Use object mtl - this will cause the
displacement map to be taken from the object's material instead of the map
selected in VRayDisplacementMod. Note that you will need to disable Max's
own displacement mapping through the Displacement checkbox in Max's
Common parameters roll-out (not the VRay
displacement option in the Global switches
roll-out which only disables VRay displacement).
Keep continuity - using this will try to
produce a connected surface, without splits, when you have faces from
different smoothing groups and/or material IDs. Note that using material IDs
is not a very good way to combine displacement maps since VRay cannot
always guarantee the surface continuity. Use other methods (vertex colors,
masks etc) to blend different displacement maps.
Edge thresh - when Keep continuity is
checked, this controls the extent to which maps on faces with different
material IDs will be blended. Note that VRay can only guarantee edge
continuity, but not vertex continuity (meaning that the surface will not
have gaps along edges, but there may be splits around vertices). For
this reason you should keep this value small.