Wednesday, June 25, 2008

VRay System


VRay System

General

In this section you can control variety of VRay parameters. These are divided into the following sections:

Parameters

Raycaster parameters

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

One of the basic operations that VRay 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, VRay 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 VRay 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 VRay will subdivide the scene geometry regardless of the scene size. By setting this to a different value, you can make VRay 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.

Default geometry - internally VRay 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 3dsmax objects. Note that some objects (displacement-mapped objects, VRayProxy and VRayFur objects, for example) always generate dynamic geometry.

Static geometry is precompiled into an acceleration structure at the beginning of the rendering and remains there until the end of the frame. Note that 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 within certain limits.

Dynamic memory limit - the total RAM limit for the dynamic raycasters. Note that this limit is divided between the number of rendering threads. If you specify 400 MB total limit, for example, and you have a dual processor machine with multithreading enabled, then each rendering thread will use 200 MB for its dynamic raycaster. If this limit is too low, and geometry needs to be loaded and unloaded very often, this may turn out to be slower than rendering in single-threaded mode.

Render region division

Here you can control various parameters of VRay's rendering regions (buckets). The bucket is an essential part of the distributed rendering system of VRay. 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 a some time overhead related with 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)

Region sequence - determines the order in which the regions are rendered. Note that the default Triangulation sequence is best if you use a lof of dynamic geometry (displacement-mapped objects, VRayProxy or VRayFur 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.

Reverse sequence - reverses the Region sequence order

Note: When the Image Sampler is set to Adaptive Sampler the size of the buckets will be rounded up to the nearest number which is a power of 2.

Previous render

This parameter determines what should be done with the previous image in the virtual frame buffer when rendering starts. 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.

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.

Distributed rendering

Distributed rendering is the process of computing a single image over several different machines. Note that this is different from distributing the frame over several CPU's in a single machine, which is called multithreading. VRay supports multithreading, as well as distributed rendering.

Before you can use the distributed rendering option, you must determine the machines that will take part in the computations. Both 3dsmax and VRay need to be properly installed on those machines, although they don't need to be authorized. You must make sure that the VRay spawner application is running on those machines - either as a service, or as a stand-alone application. Refer to the Installation section for more details on configuring and running the VRay spawner.

For additional information on distributed rendering, please refer to the dedicated Distributed rendering section.

Distributed rendering - this checkbox specifies whether VRay will use distributed rendering.

Settings... - this button opens the VRay Networking settings dialog. See the Distributed rendering section for more information.

ShadeContext compatibility

VRay carries all its computations in world space. However, some 3dsmax plugins (notably atmospherics) take it as granted that the renderer works in camera space, because this is what the default scanline renderer does. To preserve compatibility with such plugins, VRay emulates work in camera space by converting the various points and vectors passed to and from other plugins.

In addition to slowing down VRay by forcing it to convert values all the time, working in camera space messes up with camera modifiers such as the Technical camera script. This why you have the option of turning off the camera-space emulation.

Frame stamp

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.

Checkbox - turns the frame stamp on and off.

Edit box - 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 VRay with the corresponding value:

Keyword Meaning
%vrayversion the current version of VRay
%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)
% the value of any VRay parameter, given its MaxScript name (see section on MaxScript)
%ram the amount of physical memory (in KBytes) installed on the system
%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

* An intersectable primitive is a primitive that provides a direct method for intersection with a ray (such as a triangle, the infinite plane generated by a VRayPlane plugin etc). Most often, the number of these primitives is the same as the number of triangles (faces) processed by VRay for the current frame. Note that this may be different from the total number of triangles in the scene. With the dynamic raycaster, only geometry that is actually needed is generated and accounted for. Geometry that is not generated is not included in this count.

Font - this button allows you to choose a font and font attributes for the text in the frame stamp.

Full width - when this option is checked, the frame stamp will take the whole width of the image, otherwise the stamp will be only as wide as the text is.

Justify - specifies the 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.

Object Settings / Light Settings

These buttons bring up the dialogs for the local object and light settings.

Presets

This button brings up the presets dialog.


No comments: