Render region division
Search keywords: System, VRay System, raycaster, frame stamp, geometry
In this section you can control a variety of V-Ray parameters related to the overall operation of the renderer.
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 - determining if a given ray intersects any geometry in the scene, and if so - identifying that geometry. The simplest way to implement this would be to test the ray against every single render primitive (triangle) in the scene. Obviously, in scenes with thousands or millions of triangles this is going to be very slow. To speed 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 in 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 - they contain references to actual triangles from the scene.
Max tree depth - the maximum depth of the tree. Larger values will cause V-Ray to take more memory, but the rendering will be faster - up to some 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. Normally this 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 to quit subdividing, if the size of a node is below a given value.
Face/level coef - controls the maximum amount of triangles in a leaf node. If this value is lower, rendering will be faster, but the BSP tree will take more memory - up to some critical point (which is different for every scene). Values below that critical point will make the rendering slower.
Dynamic memory limit - the total RAM limit for the dynamic raycasters. 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 the rendering performance will suffer. This also controls the memory limit for tiled EXR files with mip-maps. Geometry and EXR tiles will share the same memory pool. A value of 0 for this parameter means "no limit". Setting the limit too high may cause extensive hard disk thrashing and should be avoided. Setting the limit too low will often lead to a catastrophic failure of the rendering process, and it will need to be restarted.
Default geometry - internally V-Ray maintains four raycasting engines. All of them are built around the idea of a BSP tree, but have different uses. The engines can be grouped into raycasters for non-motion blurred and for motion blurred geometry, as well as for static and dynamic geometry. This parameter determines the type of geometry for standard Softimage mesh objects. Note that some objects (displacement-mapped objects and VRayProxy for example) always generate dynamic geometry, regardless of this setting.
Static - all geometry is pre compiled into an acceleration structure at the beginning of the rendering and remains there until the end of the frame. The static raycasters are not limited in any way and will consume as much memory as necessary.
Dynamic - geometry is loaded and unloaded on the fly depending on which part of the scene is being rendered. The total memory taken up by the dynamic raycasters can be controlled by the Dynamic memory limit parameter.
Auto - some objects are compiled as static geometry, while others as dynamic. V-Ray makes the decision on which type to use based on the face count for an object and the number of its instances in the scene.
Render region division
Here you can control various parameters of V-Ray's rendering regions (buckets). The bucket is an essential part of the distributed rendering system of V-Ray. A bucket is a rectangular part of the currently rendered frame that is rendered independently from other buckets. Buckets can be sent to idle LAN machines for processing and/or can be distributed between several CPUs. Because a bucket can be processed only by a single processor the division of the frame in too small a number of buckets can prevent the optimal utilization of computational resources (some CPUs stay idle all the time). However the division of the frame in too many buckets can slow down the rendering because there is some time overhead related to each bucket (bucket setup, LAN transfer, etc).
X - determines the maximum region width in pixels (Region W/H is selected) or the number of regions in the horizontal direction (when Region Count is selected).
Y - determines the maximum region height in pixels (Region W/H is selected) or the number of regions in the vertical direction (when Region Count is selected).
lock - locks the size of Y to the size of X
Measurement - determines the measurement of the X and Y parameters.
Region W/H - the values for X and Y are in pixels.
Region Count - the values for X and Y determine the number of regions in the horizontal and vertical direction respectively.
Reverse sequence - reverses the region sequence order.
Region sequence- determines the order in which the regions are rendered. Note that the default Triangulation sequence is best if you use a lot of dynamic geometry (displacement-mapped objects, VRayProxy objects), since it walks through the image in a very consistent manner so that geometry that was generated for previous buckets can be used for the next buckets. The other sequences tend to jump from one end of the image to another which is not good with dynamic geometry.
Previous renderer - his parameter determines what should be done with the previous image in the virtual frame buffer when rendering starts. Note that this parameter has no effect on the final result of the rendering; it is implemented simply as a convenient way to distinguish between parts from the current frame being rendered, and part left over from the previous rendering. The possible values are:
Unchanged - no changes will be made - the virtual frame buffer remains the same;
Cross - every second pixel of the image will be set to black;
Fields - every other line of the image will be set to black;
Darken - the colors in the image will be darkened.
Blue - the previous image is tinted in blue.
The frame stamp is a convenient way to put some short text over the rendered images. It can be useful in many ways - for example, in network rendering, to quickly determine which frames were rendered by which machine. The frame stamp is one line of text, which appears at the bottom of the image.
Show Frame Stamp - enables or disables the frame stamp. This can also be controlled by the "Apply stamp" button in VFB.
Align Top - when on, the stamp is placed at the top of the image. When off the stamp is placed at the bottom of the image.
Justify - specifies the horizontal position of the stamp:
Left - the stamp is placed on the left of the image.
Center - the stamp is centered.
Right - the stamp is placed on the right side of the image.
Frame Stamp - here you enter the text you wish to appear in the images. You can also use some special keywords, all of which begin with the percent symbol (%). The keywords are replaced by V-Ray with the corresponding value:
Keyword Meaning %vrayversion the current version of V-Ray %filename the name of the current scene file %frame the number of the current frame %primitives * the number of unique intersectable primitives generated for the current frame* %rendertime the render time for the current frame %computername the network name of the computer %date the current system date %time the current system time %w the width of the image in pixels %h the height of the image in pixels %camera the name of the camera for this frame (if rendering from a camera, empty string otherwise) %vmem the amount of virtual memory (in KBytes) available on the system %mhz the clock speed of the system CPU(s) %os the operating system %ram the amount of physical memory (in KBytes) installed on the system
These parameters control the V-Ray messages window. During rendering, V-Ray writes various information to the vray_log.txt file located in the VRay1 folder under the Softimage active project folder. The messages window shows some of that information so that you can view it without the need to manually open that file.
Each message can fall into one of four categories: errors, warnings, information messages and debug messages.
Show in Softimage log window - when this is turned on, V-Ray output will be shown in Softimage's built-in messages window. When off, only the render log file will be used.
Level - this determines what kind of messages will be showed in the window:
1 - only error messages
2 - error and warning messages
3 - errors, warnings and information messages
4 - all messages
The last field allows you to specify where you want the log information saved.
Check for missing files - when enabled V-Ray will check for any missing textures or other files that may be needed before the actual rendering starts
Low thread priority - turning this on will cause V-Ray to use threads of lower priority when rendering, thus making the local computer more responsive at the expense of longer render times.
VFB and render region preview
These options control how V-Ray behaves when the Preview mode of Softimage is activated. The options here do not affect Render Regions; but they only apply to the VFB or to Softimage's built in preview window.
Automatic update - enables the automatic update of the V-Ray VFB when the Preview button in Softimage is clicked. This is the default. When unchecked, VFB preview will not be updated until the option is reenabled.
Delayed start - this parameter allows the user to set a specific time for which VFB Preview will wait after each change before starting to render. Setting this to a value higher than zero will cause the VFB to react more "lazily" but will avoid the delay (during which Softimage is unresponsive) caused by reexporting the scene after each small change.