This page provides information on the Production Raycast Acceleration and Production Embree rollouts in the V-Ray RT and Performance Render Settings.

 

Page Contents

 

Overview


The V-Ray RT and Performance section of the V-Ray render settings contains two rollouts that affect production performance. The first is the Raycast Acceleration rollout, which affects the data structure responsible for organizing scene geometry for raycasting calculations. The second is the Embree rollout, which controls the Intel® Embree raycaster for speeding up rendering.

 


 

UI Paths:

 ||V-Ray RT and Performance render settings|| > Production - Raycast Acceleration rollout

||V-Ray RT and Performance render settings|| > Production - Embree rollout

 

 

Production – Raycast Acceleration


Here you can control various parameters of V-Ray's Binary Space Partitioning (BSP) tree.  

One of the basic operations that V-Ray must perform is raycasting. Part of this process is determining whether a given ray intersects any geometry in the scene and if so, identifying that geometry. The most straightforward way to implement this over the entire scene would be to test the ray against every single render primitive (triangle) in the scene. In scenes with thousands or millions of triangles, this would be a very long process.

To speed up this process, V-Ray organizes the scene geometry into a special data structure called a binary space partitioning (BSP) tree. The BSP tree is a hierarchical data structure, built by subdividing the scene into two parts, then looking at each of those two parts and subdividing them in turn if necessary, and so on. Those "parts" are called nodes of the tree. At the top of the hierarchy is the root node, which represents the bounding box of the whole scene. At the bottom of the hierarchy are the leaf nodes, which contain references to actual triangles in the scene. Thus the BSP tree makes raycasting calculations go much faster. 

 



Max tree depth – The maximum depth of the tree. Larger values will cause V-Ray to use more memory for the tree, but the rendering will be faster up to a critical point. Values beyond that critical point (which is different for every scene) will start to slow things down. Smaller values for this parameter will cause the BSP tree to take less memory, but rendering will be slower. 

Min leaf size – The minimum size of a leaf node. If the size of a leaf node is above this value, the process will subdivide the leaf, at which point the leaf will become a node. Normally this value is set to 0.0, which means that V-Ray will subdivide the scene geometry regardless of the scene size. By setting this to a different value, you can make V-Ray quit subdividing if the size of a node is below a given value. 

Face/level coeff – Controls the maximum amount of triangles in a leaf node. If the number of triangles in a leaf is above this value, the process will subdivide the leaf, at which point the leaf will become a node. Lower values will make rendering go faster, but the BSP tree will take more memory up to a critical point (which is different for every scene). Values below that critical point will make the rendering slower.

Dyn. memory limit (MBs) – Specifies the amount of RAM in megabytes that will be allocated for dynamic geometry (e.g. displacement, VRayProxy objects, etc.). The default value of 0 means no limit, and V-Ray will take as much memory as needed. Positive or negative values can be used. If a negative value is specified, then that amount will be subtracted from the amount of physical RAM, and the difference will be the memory limit. Note that the memory pool is shared between the different rendering threads. Therefore, if geometry needs to be unloaded and loaded too often, the threads must wait for each other, and rendering performance will suffer.

 

Production – Embree





U
se Embree – Enables the Intel® Embree raycaster.

Use Embree for Motion Blur – Enables the use of the Embree library for motion-blurred objects.

Use Embree for hair – Enables the usage of Embree library for hair. The Embree library uses spline curves to model hair (which differs from the classic model in V-Ray). Expect some minor differences between the way Embree and V-Ray hair models look in renderings. These differences become more obvious if hair strands are larger than one pixel in the final image. 

Conserve memory – Embree will use a more compact method for storing triangles, which is slightly slower but reduces memory usage.

 

 

 



Example: The Embree Parameter  

 

 

Currently in V-Ray, Embree accelerates only static geometry (as opposed to dynamic or render-time geometry). You can also use Embree to accelerate 3D displacement and subdivision surfaces if you enable the Static Subdivision and Displacement options in the V-Ray Geometry properties of an item.

V-Ray Proxy objects and all hair geometry are not currently accelerated with Embree, although support for V-Ray Proxy objects is planned.

The following images were rendered with the   Progressive image sampler and run for the same amount of time. Using Intel® Embree allowed the Progressive sampler to compute almost twice as many passes thus producing a smoother image.

 

 

 


Use Embree  disabled, image reached 62 passes

 


Use Embree  enabled, image reached 118 passes

 

 

 

Notes


  • The Embree raycaster derives its speed partly from the usage of single-precision floating point numbers, whereas the standard V-Ray raycaster selectively uses double precision. This lower precision of Embree might lead to artifacts in some scenes with very large extents.