Table of Contents

This page provides information on the Subdivision Node in V-Ray for Blender.

 

Overview


 The Subdivision node allows you to use displacement mapping to add detail to geometry in the scene. The difference between the Displacement node and the Subdivision node is that with the latter the geometry is subdivided before the displacement is applied. The concept is very similar to bump mapping. However, bump mapping is a shading effect that only changes the appearance of a surface, while displacement mapping actually modifies the surface.


UI Path


 

||Node Editor|| > Add > Geometry > Subdivision

 

Node


Color/Float An input slot to connect the displacement texture.

 

 

 

Parameters


 

Mode  The method used to apply displacement mapping:

Vector (Object Space) – This type is only meaningful with Ptex displacement textures through the VRayPtex texture where the texture values represent 0-based displacement in object space. If mesh information is stored in the Ptex file, V-Ray can also displace correctly mesh deformations. Object-space Ptex vector displacement only works for subdivision surfaces when the displacement Type is Subdivision.
Absolute Tangent
 – The texture is interpreted as 0.5-based tangent space displacement map.
Vector
 – If you have a displacement texture that is not grayscale V-Ray converts it to grayscale before rendering the displaced geometry.This mode allows V-Ray to use the Red, Green, and Blue channels of the displacement texture to displace the geometry in the U and V directions in addition to the normal of the face.
Normal
 – This is a general method which takes the original surface geometry and subdivides its triangles into smaller subtriangles which are then displaced. It can be applied for arbitrary displacement maps with any kind of mapping. Note that with Normal Displacement the displacement map's range of values must be within the 0.0-1.0 range (black to white). Values outside of this range are clipped.

Amount – Controls the amount of displacement. A value of 0.0 means the object appear unchanged. Higher values produce a greater displacement effect. This can also be negative, in which case the displacement pushes geometry inside the object.

Shift – Specifies a constant which is added to the displacement map values, effectively shifting the displaced surface up and down along the normals. This can be either positive or negative.

Water level – Clips the surface geometry in places where the displacement map value is below the specified threshold. This can be used for clip mapping a displacement map value below which geometry will be clipped.

Keep Continuity – When enabled, V-Ray produces 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 V-Ray cannot always guarantee the surface continuity. Use other methods (vertex colors, masks etc) to blend different displacement maps.

Cache Normals – When enabled, V-Ray generates and saves information about the normal of each newly generated vertex. This requires additional memory but speeds up the shading calculations during rendering.

Use global settings – When enabled, the Edge length and Max subdivisions parameters are determined by the options in the Globals rollout in V-Ray's Globals Render Settings menu.

Edge length – 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.

Max subdivisions – Sets a limit for the maximum number subtriangles generated from any triangle of the original mesh. The value represents the square root of the maximum number of subtriangles. For example, a value of 256 means that at most 256 x 256 = 65536 subtriangles are 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 is better to tessellate 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 tessellation on neighboring triangles).

View dependent – When enabled, 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 is 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.

Use Bounds – Enables the Min Bound and Max Bound parameters.

Min/Max Bounds – These two options allow you to specify custom boundaries for the displaced geometry. By default, all relevant values are between 0 and 1.

 

 

 

 


 

 Example: Displacement vs Bump Mapping


This example shows the difference between bump mapping and displacement mapping. Notice the round outline of the sphere and its shadow in the case of bump mapping, and the deformed outline produced by the displacement:

 

 

Bump mapping
The displacement map in this case is a 3d Cellular map; the 3D displacement method was used.

Displacement mapping

 

 



 Example: Basic node graph for Subdivision


This example shows the basic node graph necessary to subdivide an object: