AColor

An extension of vray.Color that adds an alpha channel as the 4th component. "alpha" means opacity, the opposite of transparency. Available constructors are:
AColor()
AColor(number, number, number, number)
AColor(number[])
AColor(Color|AColor) AColor(Color, number)

new AColor()
Properties
r (number) : AColor red component
g (number) : AColor green component
b (number) : AColor blue component
a (number) : AColor alpha component
Static Members
getLength()
getLengthSquared()
getWhiteComplement()
Instance Members
add(c)
sub(c)
mul(c)
div(c)
fromSRGB()
toSRGB()

Instances of this class are used to binary serialize user attributes to V-Ray IntList.

AnimatedTransform

Used in Proxy.createMeshFile() and Proxy.createCombinedMeshFile()

AnimatedTransform

Type: object

Properties
transforms (Array<Transform>) : List of transformations contained in the animation. The size must be equal to the size of the keyFrames list.
keyFrames (Array<number>) : List of keyFrames contained in the animation. The size must be equal to the size of the transformations list.

add

Add user attribute.

add(The: string, The: (Number | Vector | Color | AColor | string)): bool
Parameters
The (string) name of the user attribute to add.
The ((Number | Vector | Color | AColor | string)) value of user attribute to add.
Returns
bool: true on success.

close

Finalize attributes per instance. Call close() to separate attributes between different instances.

close()

toIntList

Get binary serialized data as IntList for easier assignment as plugin property value. This will reset the state of BinUserAttributesWriter and clear all the data held in it!

toIntList(): IntList
Returns
IntList: The binary serialized data as IntList.

getInstances

Returns a list of all Plugin instances of the passed category lists. The plugins returned are either of all categories of the first array or of all categories of the second arrays, etc. (It's an AND operation of the categories of each array and OR operation between the arrays.)

getInstances(): PluginList
Returns
PluginList: An array-like list of all Plugin instances of this category.

Category

A type class that defines a particular V-Ray render plugin category. It holds all the classes which belong to this category

Category

Type: Object

Instance Members
getInstances()
belongs(plugin)
getName()
getRenderer()

Class

A type class that defines a particular V-Ray render plugin type. It allows creation of new instances if called as a function. It also supplies meta information about the type.

Class

Type: Object

Instance Members
getGPUSupport()
getDescription()
getDescription()
getCategories()
getName()
getRenderer()
getUIGuides(name?)
getMeta(propertyName?)
getInstances()
getInstance()
getInstanceOrCreate(pluginName?)

Color

A 3-component floating point immutable color value. It supports mathematical operations, indexing and equality checking. In most contexts the component values are in the range [0, 1], but in lighting calculations HDR values above 1.0 are possible. Available constructors are:
Color()
Color(number, number, number)
Color(number[])
Color(Color|AColor)

new Color()
Properties
r (number) : Color red component
g (number) : Color green component
b (number) : Color blue component
Static Members
fromTemperature(temperature, rgbColorSpace)
getRGBToRGBMatrix(srcColorSpace, dstColorSpace)
getIntensity()
getLuminance()
getLength()
getLengthSquared()
getPower()
setSaturation(k)
setContrast(k, middle)
getWhiteComplement()
Instance Members
add(c)
sub(c)
mul(c)
div(c)
fromSRGB()
toSRGB()

GeomUtils

A group of utility methods related to variuos geometry source plugins.

GeomUtils

Type: Object

Instance Members
readScatterData(scatterPlugin)
readGaussianDataSync(gaussian)

typedef {object} TransformsAndTopo

Properties
transforms (TransformList) : Full output transforms data
topo ((IntList | Int32Array)) : Full output source topology data. The indices are corresponding to the sources list in GeomScatter::models

Axis-aligned bounding box

typedef {object} Box

Properties
min (Vector) : The lower bounds for the box along the three axes
max (Vector) : The upper bounds for the box along the three axes

All related data necessary to create a preview of a single Gaussian model. Used by GeomUtils.readGaussianDataSync()

typedef {object} GaussianReadData

Properties
bbox (Box) : The preview bounding box of the model, calculated using the Gaussian primitive positions only
positions ((VectorList | Float32Array)) : Full array of positions of the Gaussian primitives
colors ((ColorList | Float32Array)) : Full array of average colors of the Gaussian primitives

CombinedProxyFileMeshCreateParams

Used in Proxy.createCombinedMeshFile()

CombinedProxyFileMeshCreateParams

Type: object

Properties
transforms (Array<Transform>) : A list of Transform objects for transforming the vertices and normals in 3D space. Must match the geomPlugins list.
animTransforms (Array<AnimatedTransform>) : Array of objects containing transformations at corresponding keyframes, to be written to the created file. The size must equal the mesh array size.
objectNames (Array<string>) : Array of names to associate with respective meshes. This can be used to identify the pieces when reading the proxy.
objectIDs (Array<number>) : Array of unique IDs for the respective meshes. This should usually match Node.objectID values.
voxelElements (number) : Target number of triangles in each voxel.
numPreviewElements (number) : Number of preview triangles to generate. Set to 0 to disable preview. (default 10000)
previewType (string) : One of 'face_sampling', 'clustering', 'edge_collapse' or 'combined' (default).
isAnimated (boolean) : True if the mesh is animated.
startFrame (number) : Where to start exporting the animation from.
endFrame (number) : Where to stop exporting the animation.
customPreviewFile (string) : A file name to read and use its vertices and faces for the preview voxel
mergeVoxels (boolean) : Merge all voxels of the same type, before subdivision.
voxelInfoWireColor (ColorList) : Array of diffuse (wire) colors - 1 Color per mesh object
voxelInfoSmoothed (IntList) : Array of smoothed flags (1 flag per mesh object - true if the voxel should be rendered with smoothed normals)
voxelInfoFlipNormals (IntList) : Array of flipNormals flags (1 flag per mesh object - true if the geometric normals should be flipped)
exportPointCloud (boolean) : When enabled, adds a point cloud representation of the mesh separated into different levels of detail. The various levels of detail can be used by proxies for saving memory when rendering distant objects.
pointSize (number) : Determines the size of point cloud disks at the most detailed level. If this value is small, point clouds rendered at the lowest level appear closer to original mesh but use more memory.
previewHairs (number) : Number of preview hairs (default 1000)
previewParticles (number) : Number of preview particles (default 20000)
bakeTransforms (boolean) : When enabled (default), applies the input Transform(s) to the geometry data, otherwise writes the Transform(s) into separate data channel.

ComputeDeviceInfo

ComputeDeviceInfo

Type: object

Properties
useForRendering (boolean) : True if device is set to be used for rendering
useForDenoising (boolean) : True if device is set to be used for denoising
isSupported (boolean) : True if device is supported
name (string) : Non-unique displayable name. Device index is its unique identifier.
type (string) : CPU, GPU or other
totalMemoryMB (number) : In megabytes
numConnectedDisplays (number) : Number of displays (monitors) attached to this device. -1 if this information is unavailable
frequencyMHz (number) : Base clock frequency or -1 if not available
gigaFlops (number) : Theoretical GFLOPS. 0 or -1 if not available
ccMajor (number) : CUDA Compute Capability Major version number
ccMinor (number) : CUDA Compute Capability Minor version number

ComputeDeviceStatistics

ComputeDeviceStatistics

Type: object

Properties
name (string) : name of the device
utilization (number) : usage (from 0.0f to 100.0f)
freeMem (number) : free mem in mega bytes
totalMem (number) : total mem in mega bytes

EnableDRClientParams

The necessary parameters passed to the VRayRenderer.enableDRClient() interface.

EnableDRClientParams

Type: object

Properties
dispatcher (string) : can either be an empty string or host [ :port ]
httpProxy (string) : server:port connection parameter for http connections via proxy
localRendering (boolean) : True if, when local dispatcher selected, it's configured to spawn a local render server
withBroadcastListener (boolean) : True if a broadcast listener socket was created
pipelinedUpstream (boolean) : Whether to use pipelining. Note pipelining will be disabled internally (even if requested), if a proxy is configured or is discovered between the client and a remote server.
enableAssigningWUsAsBackups (boolean) : TransferrableDrOptions
immediatelyForwardReadySplitBucketSubunits (boolean) : TransferrableDrOptions
connectTimeout (number) : Initial connection timeout in seconds
upstreamChannels (number) : Number of upstream connections, which the client side will use, when pipelining is not enabled
verboseLevel (number) : Numeric progress verbosity level from 0 (none) to 4 (all, incl. debug)

ExportSettings

ExportSettings

Type: object

Properties
currentFrameOnly (boolean) : if True only the current keyframe is exported, otherwise the whole timeline (default False)
appendFrameSuffix (boolean) : valid only when currentFrameOnly=true - whether to save separate frame files (default False)
incremental (boolean) : valid only when currentFrameOnly=True and appendFrameSuffix=False - set to True to incrementally append keyframe data after initial export with False (default False)
leftInterval (number) : valid only when currentFrameOnly=true. The (closed) time interval left of the current time in which to include keyframes, i.e. [left, right). Value 0.0 means automatic 1 frame based on FPS. (default 0.0)
rightInterval (number) : valid only when currentFrameOnly=true. The (open) time interval right of the current time in which to include keyframes, i.e. [left, right). Value 0.0 means automatic 1 frame based on FPS. (default 0.0)
compressed (boolean) : whether to compress lists of numbers when hexArrays==True (default True)
hexArrays (boolean) : whether to use hex format for lists of numbers (default True)
hexTransforms (boolean) : whether to use hex format for Transform (default False)
renderElementsSeparateFolders (boolean) : whether to save render elements to separate folders (default False)
hostAppString (string) : a string identifying the host application, version, etc.
printHeader (boolean) : whether to write the comment section with version and time info (default True)
subFileInfos (Array<SubFileInfo>) : used to split the scene into separate files based on plugin categories
pluginExportList (Array<Plugin>) : if set, only these will be exported, otherwise all plugins are exported
additionalIncludeFiles (Array<string>) : paths to write in #include directives at the end of the main vrscene
stripPaths (boolean) : If enabled, the paths for bitmap textures and other external files are stripped from the file so that only the filenames remain (default False)
vrdataExport (boolean) : Enable or disable vrdata file writing
vrdataSmallBufferSizeLimit (number) : Set a limit for the min size of the buffer. If the buffer is smaller it is not writen to the vrdata file
vrdataFileSizeLimitMiB (number) : Limit the size of the vrdata file. If this limit is reached. Another file is started
vrfilesExport (boolean) : Enable or disable vrfiles file writing
sceneBasePath (string) : Optional absolute scene base path that can be used for resolving relative paths for the .vrfiles file
vrfilesComputeHashes (boolean) : True if MD5 and SHA256 hashes should be computed and written in the .vrfiles file for each resolved asset file

ImageSize

ImageSize

Type: object

Properties
width (number) : Width in pixels.
height (number) : Height in pixels.

InteractiveStatistics

InteractiveStatistics

Type: object

Properties
pathsPerSecond (number) : Number of camera rays traced per second
elapsedTicks (number) : Time since start
sampleLevel (number) : Number of samples per pixel accumulated
numPasses (number) : Number of sampling passes done
currentNoiseThreshold (number) : Current noise threshold. Useful when dynamic noise threshold is enabled.
currentProgress (number) : Current rendering progress from 0.0 to 1.0
computeDevices (Array<ComputeDeviceStatistics>) : array of statistics for each device with valid data

LightUtils

A group of utility methods related to variuos light source plugins.

LightUtils

Type: Object

Instance Members
readLuminaireFieldPreviewDataSync(luminaire, getConvexHullData)

Matrix

A 3x3 column-major matrix. Each column is a vray.Vector that can be indexed. The usual mathematical operations are supported as well as equality checks. This object is immutable. Available constructors are:
Matrix()
Matrix(number, number, number, number, number, number, number, number, number)
Matrix(number[]|Vector, number[]|Vector, number[]|Vector)
Matrix(number)
Matrix(Matrix)

new Matrix()
Properties
column0 (Vector) : Column0 of the matrix
column1 (Vector) : Column1 of the matrix
column2 (Vector) : Column2 of the matrix
Static Members
outerProduct(v1, v2)
makeRotationMatrixX(angle)
makeRotationMatrixY(angle)
makeRotationMatrixZ(angle)
Instance Members
mul(m)
mulVector(v)
add(m)
sub(m)
div(n)
cross(v)
negative()
orthogonal()
orthonormal()
transpose()
inverse()
withoutScale()
rotate(axis)
replaceColumn(index, column)
replaceRow(index, row)
addDiagonal(diag)
addTranspose(transpose)

MeshFileData

A container for the data necessary to a export vrmesh with geometry, hair or particles. Used by Proxy.createMeshFile() and Proxy.createCombinedMeshFile()

MeshFileData

Type: object

Properties
vertices (object) : ( VectorList ) (single frame) OR ( object[](number, VectorList) ) (multiple frames - where number is the corresponding keyFrame)
faces (object) : ( IntList ) (single frame) OR ( object[](number, IntList) ) (multiple frames - where number is the corresponding keyFrame)
normals (object) : ( VectorList ) (single frame) OR ( object[](number, VectorList) ) (multiple frames - where number is the corresponding keyFrame)
faceNormals (object) : ( IntList ) (single frame) OR ( object[](number, IntList) ) (multiple frames - where number is the corresponding keyFrame)
velocities (object) : ( VectorList ) (single frame) OR ( object[](number, VectorList) ) (multiple frames - where number is the corresponding keyFrame)
faceMtlIDs (object) : ( IntList ) (single frame) OR ( object[](number, IntList) ) (multiple frames - where number is the corresponding keyFrame)
mapChannels (Array<object>) : ( object[](int, VectorList, IntList) )
mapChNames (object) : ( StringList )
shaderNames (Array<object>) : ( object[](int, string) )
edgeVisibility (object) : ( IntList ) (single frame) OR ( object[](number, IntList) ) (multiple frames - where number is the corresponding keyFrame)
hairVertices (object) : ( VectorList ) (single frame) OR ( object[](number, VectorList) ) (multiple frames - where number is the corresponding keyFrame)
hairVerticesPerStrand (object) : ( IntList ) (single frame) OR ( object[](number, IntList) ) (multiple frames - where number is the corresponding keyFrame)
hairWidths (object) : ( FloatList ) (single frame) OR ( object[](number, FloatList) ) (multiple frames - where number is the corresponding keyFrame)
particleVertices (object) : ( VectorList ) (single frame) OR ( object[](number, VectorList) ) (multiple frames - where number is the corresponding keyFrame)
particleWidths (object) : ( FloatList ) (single frame) OR ( object[](number, FloatList) ) (multiple frames - where number is the corresponding keyFrame)

OCIOConfigurationData

Initializes the OCIOConfigurationData instance with the provided configuration file or environment variable.

new OCIOConfigurationData(fileName: string, vraySourceType: int)
Parameters
fileName (string) The file name from which the OCIO configuration will be read.
vraySourceType (int) An integer matching the exact V-Ray source type as defined in TexOCIO::config_src. There are four modes : [ Automatic, Environment, File, Internal ] . Automatic - Automatic mode - environment > stored environment > file > internal. (default value) Environmet - Only environment is considered. File - Only the file is considered. Internal - Only the internal color spaces are considered.

Available constructors are:
OCIOConfigurationData()
OCIOConfigurationData(fileName)
OCIOConfigurationData(fileName, vraySourceType)

Properties
colorSpaces (Array<string>) : List of the stored color spaces in the configuration
colorSpaceFamilies (Array<string>) : List of stored color space families for the configuration. May be empty
roles (Array<string>) : List of the stored roles in the configuration
roleColorSpaces (Array<string>) : List of corresponding color spaces for each role. Size will match the roles size
looks (Array<string>) : List of the looks in the configuration
devices (Array<string>) : List of devices as read from the configuration
viewTransforms (Array<string>) : List of unique view transformations from the configuration
familySeparator (string) : The symbol used as a separator to distinguish different families for UI separation

PickedPluginInfo

PickedPluginInfo

Type: object

Properties
plugin (Plugin) : the intersected plugin.
distance (number) : distance along the ray
mtlID (number) : material ID of MtlMulti (if applied to the plugin)

Plugin

A wrapper for a Plugin instance in the V-Ray core. It exposes the instance's properties as a dictionary. Deleting (unbinding) this object does not alter the V-Ray scene. You have to 'delete' the plugin from VRayRenderer.plugins in order to remove it from the scene.

Plugin

Type: Object

Instance Members
getCategories()
isValid()
PluginLink

Type: object

Properties
fromPlugin (Plugin) : Plugin which makes the reference
fromProperty (string) : name of the property containing the reference
toPlugin (PluginRef) : PluginRef which is being referenced (may have an output property)

PluginList

An Array-like object that holds plugin instances. It consumes much less memory than a js array containg the same plugins. Available constructors are:
PluginList()
PluginList(number)
PluginList(plugin1, plugin2, ...)

new PluginList()
Properties
length (integer) : The number of plugin elements currently contained in the list

PluginRef

An extension over Plugin which adds an optional output property name.

PluginRef

Type: Object

Instance Members
getIntegerID()
getName()
getType()
getClass()
getRenderer()
getOutputName()
getReference(propertyName)
getPlugin()
getKeyframeTimes(propertyName)
getValueAsString(propertyName)
isPropertyAnimated(propertyName)
getValue(propertyName, time)
setValue(propertyName, propertyValue, time)
deleteThis()
replaceWith(replacement)
setName(name)
getUIGuides(name?)
getMeta(name?)

Profiler

A namespace-like class for Profiler related methods. It's associated with one specific VRayRenderer instance and does not affect any other instances.

Profiler

Type: Object

Properties
isManual (boolean) : Whether the profiler was started manually.
Instance Members
initializeManually(settings)
startDurationEvent(name, threadIndex)
startDurationEvent(name, threadIndex)
writeAndFreeData()

Proxy

A group of methods for reading data and creating V-Ray geometry proxies.

Proxy

Type: Object

Static Members
readFullDataSync(plugin, flags?)
readPreviewData(plugin, flags?)
readFullData(plugin, flags?, callback)
createCombinedMeshFile(plugins, file, params)
createMeshFile(plugin, file, params)
readPreviewGeometry(plugin, countHint?)
readPreviewHair(plugin, countHint?)
readPreviewParticles(plugin, countHint)

ProxyFileMeshCreateParams

Used in Proxy.createMeshFile()

ProxyFileMeshCreateParams

Type: object

Properties
transform (Transform) : A Transform object for transforming the vertices and normals in 3D space.
animTransform (AnimatedTransform) : An object containing transformations at corresponding keyframes, to be written to the created file
objectName (string) : A name to associate with the mesh. This can be used to identify the object when reading the proxy.
objectID (number) : A unique ID for the mesh. This should usually match a Node.objectID value.
voxelElements (number) : Target number of triangles in each voxel.
numPreviewElements (number) : Number of preview triangles to generate. Set to 0 to disable preview. (default 10000)
previewType (string) : One of 'face_sampling', 'clustering', 'edge_collapse' or 'combined' (default).
isAnimated (boolean) : True if the mesh is animated.
startFrame (number) : Where to start exporting the animation from.
endFrame (number) : Where to stop exporting the animation.
customPreviewFile (string) : A file name to read and use its vertices and faces for the preview voxel
mergeVoxels (boolean) : Merge all voxels of the same type, before subdivision.
voxelInfoWireColor (ColorList) : Array of diffuse (wire) colors - 1 Color per mesh object
voxelInfoSmoothed (IntList) : Array of smoothed flags (1 flag per mesh object - true if the voxel should be rendered with smoothed normals)
voxelInfoFlipNormals (IntList) : Array of flipNormals flags (1 flag per mesh object - true if the geometric normals should be flipped)
exportPointCloud (boolean) : When enabled, adds a point cloud representation of the mesh separated into different levels of detail. The various levels of detail can be used by proxies for saving memory when rendering distant objects.
pointSize (number) : Determines the size of point cloud disks at the most detailed level. If this value is small, point clouds rendered at the lowest level appear closer to original mesh but use more memory.
previewHairs (number) : Number of preview hairs (default 1000)
previewParticles (number) : Number of preview particles (default 20000)
bakeTransforms (boolean) : When enabled (default), applies the input Transform(s) to the geometry data, otherwise writes the Transform(s) into separate data channel.

ProxyReadData

An object containing the data returned by Proxy.readFullData(), Proxy.readFullDataSync() or Proxy.readPreviewData()

ProxyReadData

Type: object

Properties
vertices (VectorList) : Full mesh vertex positions array
vertexIndices (IntList) : Indices in the vertex array for each triangle. Every 3 consecutive ints are one triangle.
normals (VectorList) : Full mesh normal vectors array.
normalIndices (IntList) : Indices in the normal for each triangle. Every 3 consecutive ints are one triangle
materialIDs (IntList) : Material IDs for each consecutive triangle in the full mesh
velocities (VectorList) : Velocity vectors for each vertex in the vertex array
uvOriginalIndices (IntList) : Array with the original proxy file indices of the UV sets. They may not equal their index in the data arrays here
uvSetNames (Array<string>) : Names of the UV sets
uvValues (Array<VectorList>) : Array of arrays of UVW mapping coordinates for the given mapping channel index
uvValueIndices (Array<IntList>) : Array of index arrays for the coordinates in uvValues
shaderNames (Array<string>) : Names of shaders (materials)
shaderIDs (IntList) : IDs of shaders (materials)
objectInfoNames (Array<string>) : Names of objects (geometry meshes)
objectInfoIDs (IntList) : IDs of objects (geometry meshes)
objectInfoVBegins (IntList) : Array of begin indices of the voxel range of geometry objects (vBegin is included in the range)
objectInfoVEnds (IntList) : Array of end indices of the voxel range of geometry objects (vEnd is excluded from the range)
hairObjectInfoNames (Array<string>) : Names of hair objects
hairObjectInfoIDs (IntList) : IDs of hair objects
hairObjectInfoVBegins (IntList) : Array of begin indices of the voxel range of hair objects (vBegin is included in the range)
hairObjectInfoVEnds (IntList) : Array of end indices of the voxel range of hair objects (vEnd is excluded from the range)
particleObjectInfoNames (Array<string>) : Names of particle objects
particleObjectInfoIDs (IntList) : IDs of particle objects
particleObjectInfoVBegins (IntList) : Array of begin indices of the voxel range of particle objects (vBegin is included in the range)
particleObjectInfoVEnds (IntList) : Array of end indices of the voxel range of particle objects (vEnd is excluded from the range)
hairVertices (VectorList) : Full array of the hair geometry vertices
hairVerticesPerStrand (IntList) : Full array of the hair strands length data (The i-th strand has hairVerticesPerStrand [ i ] consecutive vertices in hairVertices)
particleVertices (VectorList) : Full array of the particle geometry vertices
voxelVerticesStartIndices (IntList) : Full array of indices, where the voxel vertices data starts - the i-th voxel starts at vertices[voxelVerticesStartIndices [ i ] ]
voxelVertexIndicesStartIndices (IntList) : Full array of indices, where the voxel vertex indices data starts - the i-th voxel starts at vertexIndices[voxelVertexIndicesStartIndices [ i ] ]
voxelNormalsStartIndices (IntList) : Full array of indices, where the voxel normals data starts - the i-th voxel starts at normals[voxelNormalsStartIndices [ i ] ]
voxelNormalIndicesStartIndices (IntList) : Full array of indices, where the voxel normalIndices data starts - the i-th voxel starts at normalIndices[voxelNormalIndicesStartIndices [ i ] ]
voxelMaterialIDsStartIndices (IntList) : Full array of indices, where the voxel materialIDs data starts - the i-th voxel starts at materialIDs[voxelMaterialIDsStartIndices [ i ] ]
voxelVelocitiesStartIndices (IntList) : Full array of indices, where the voxel velocities data starts - the i-th voxel starts at velocities[voxelVelocitiesStartIndices [ i ] ]
voxelUVValuesStartIndices (IntList) : Full array of indices, where the voxel UV values data starts - the j-th set of the i-th voxel starts at uvValues[voxelUVValuesStartIndices [ j * geometryVoxels_count + i ] ]
voxelUVValueIndicesStartIndices (IntList) : Full array of indices, where the voxel UV value indices data starts - the j-th set of the i-th voxel starts at uvValueIndices[voxelUVValueIndicesStartIndices [ j * geometryVoxels_count + i ] ]
geometryVoxelsBBoxes (VectorList) : Full array of bounding boxes of all geometry voxels
hairVoxelsBBoxes (VectorList) : Full array of bounding boxes of all hair voxels
particleVoxelsBBoxes (VectorList) : Full array of bounding boxes of all particle voxels
hairVerticesStartIndices (IntList) : Full array of indices, where the hair vertices data starts - the i-th hair voxel starts at hairVertices[hairVerticesStartIndices [ i ] ]
hairVerticesPerStrandStartIndices (IntList) : Full array of indices, where the hair strands data starts - the strands data of the i-th hair voxel starts at hairVerticesPerStrand[hairVerticesPerStrandStartIndices [ i ] ]
particleVerticesStartIndices (IntList) : Full array of indices, where the particle vertices data starts - the i-th particle voxel starts at particleVertices[particleVerticesStartIndices [ i ] ]
edgeVisibility (IntList) : Array of edge visibility flags, each integer in the array has edge visibility information for 10 consecutive faces (3 bits per face).
voxelInfoWireColor (ColorList) : Array of diffuse (wire) colors - 1 Color per mesh object
voxelInfoSmoothed (IntList) : Array of smoothed flags (1 flag per mesh object - true if the voxel should be rendered with smoothed normals)
voxelInfoFlipNormals (IntList) : Array of flipNormals flags (1 flag per mesh object - true if the geometric normals should be flipped)
hairWidths (FloatList) : Full array of the hair geometry widths
hairWidthsStartIndices (IntList) : Full array of indices, where the hair widths data starts - the i-th hair voxel starts at hairWidths[hairWidthsStartIndices [ i ] ]
particleWidths (FloatList) : Full array of the particle geometry widths
particleWidthsStartIndices (IntList) : Full array of indices, where the particle widths data starts - the i-th particle voxel starts at particleWidths[particleWidthsStartIndices [ i ] ]
numFrames (number) : The number of frames in the file
hasVelocityChannel (boolean) : True, in case the currently read frame contains at least one of geometry/hair/particle velocity data
hairVelocities (VectorList) : Velocity vectors for each vertex in the hairVertices array
particleVelocities (VectorList) : Velocity vectors for each vertex in the particleVertices array
hairVelocitiesStartIndices (IntList) : Full array of indices, where the hair velocities data starts - the i-th hair voxel starts at hairVelocities[hairVelocitiesStartIndices [ i ] ]
particleVelocitiesStartIndices (IntList) : Full array of indices, where the particle velocities data starts - the i-th particle voxel starts at particleVelocities[particleVelocitiesStartIndices [ i ] ]

ProxyReadDataFlags

Boolean flags defining which parts of the data to read. Multiple flags could be true.

ProxyReadDataFlags

Type: object

Properties
vertices (boolean)
normals (boolean)
mtlIDs (boolean)
velocities (boolean)
UVs (boolean)
shaders (boolean)
objectInfos (boolean)
hairObjectInfos (boolean)
particleObjectInfos (boolean)
hair (boolean)
particles (boolean)
geometryVoxelsBBoxes (boolean)
hairVoxelsBBoxes (boolean)
particleVoxelsBBoxes (boolean)
all (boolean)

ProxyReadParams

The necessary parameters for reading data in a proxy file

ProxyReadParams

Type: object

Properties
file (string) : file name to read
object_path (string) : starting object path in Alembic hierarchy
compute_normals (number) : true to calculate smooth normals
flip_axis (number) : 0 do not rotate; 1 transform from Maya to 3dsMax coordinate system (90 deg. rotation around x axis); 2 transform from 3dsMax to Maya (-90 deg. rotation around x axis)
subdiv_level (number) : the subdivision level
subdiv_preserve_map_borders (number) : determines the smoothing mode of the mapping channels' borders. 0-None, 1-Internal and 2-All
anim_type (number) : animated proxy playback type(0 - loop; 1 - once; 2 - ping - pong; 3 - still)
num_preview_faces (number) : number of faces in preview
smooth_angle (number) : smooth angle in degrees
anim_speed (number) : animated proxy playback speed
anim_offset (number) : animated proxy initial frame offset
fps (number) : frames per second for calculation of current time and frame
use_full_names (boolean) : read the full path instead of only the name
compute_bbox (boolean) : true to compute the bounding box, false to read it from the file
subdiv_all_meshes (boolean) : true to subdivide Alembic PolyMesh and SubD objects; false to subdivide only SubD objects
subdiv_uvs (boolean) : file name to readsubdivide or skip mapping channels
subdiv_preserve_geom_borders (boolean) : if true, the borders won't be subdivided
instancing (boolean) : turns on/off the instancing of Alembic duplicated objects
use_alembic_offset (boolean) : true to use Alembic animation frame offset
hair_width_multiplier (number) : a multiplier to the hair width data
particle_width_multiplier (number) : a multiplier to the particle width data

RendererOptions

RendererOptions

Type: object

Properties
pluginLibraryPath (string) : [ OPTIONAL ] Specifies additional, non-default plugin library paths to load vray *.dll (libvray *.so)
vfbDrawStyle ((string | integer)) : Sets the V-Ray Frame Buffer draw style.
enableFrameBuffer (boolean) : Whether to enable/disable the VFB window creation.
showFrameBuffer (boolean) : Sets the frame buffer visibility.
inProcess (boolean) : Gets or sets whether the executing process participates in the rendering. The default value is true. If only V-Ray slaves are rendering (i.e. the rendering is out of process), then hosts for distributed rendering should be specified with the VRayRenderer.AddHosts(String) method before starting the rendering.
noRenderLicensePreCheck (boolean) : If set appsdk will not check for render license before rendering is started.
useDefaultVfbTheme (boolean) : Disable to inherit parent application GUI theme. Enabled by default.
previewRenderer (boolean) : Enable to optimize the renderer for small preview purposes.
vfbLanguage ((string | vray.Language)) : [ OPTIONAL ] A language code string (from vray.Language) for the VFB

SaveImageOptions

SaveImageOptions

Type: object

Properties
compressionType (string) : for EXR format only, one of: 'noCompression', 'runLength', 'zipScanline', 'zipBlock', 'piz', 'pxr24', 'b44', 'b44a', 'dwaa', 'dwab'
bitsPerChannel (number) : for EXR format only: either 16 or 32
multipleFiles (boolean) : unused
skipAlpha (boolean) : do not write the alpha channel into a separate file
frameNumber (boolean) : the current frame number will be appended to the file name(s)
noAlpha (boolean) : do not write the alpha channel together with the color data
singleChannel (boolean) : only a single channel is written to the file (the current one in vfb)
skipRGB (boolean) : do not write the RGB channel into a separate file
writeIntegerIDs (boolean) : write to EXR as integer data
velocityZeroBased (boolean) : unused
multiChannel (boolean) : create a single multi-channel file if the file format supports it
applyColorCorrections (boolean) : bake the VFB corrections to the output file

close

Closes the ScannedMaterialInfo in V-Ray which releases the material

close()

getInfo

Get information string about the file content.

getInfo(filename: string): string
Parameters
filename (string) The name of the file containing the scanned material data.
Returns
string: The info string

getPreset

Get preset values of the scanned material.

getPreset(filename: string): ScannedMaterialPreset
Parameters
filename (string) The name of the file containing the scanned material data.
Returns
ScannedMaterialPreset: Object containing the preset values of the scanned material.

ServerOptions

Options to set up a VRayServer.

ServerOptions

Type: object

Properties
portNumber (number) : Which port to accept connections on (leave at 0 for default - 20207 (DR1) or 20209 (DR2)).
numThreads (number) : Number of threads to use for rendering (leave at 0 for all available).
remoteScenePath (string) : The folder in which the received vrscene-file will be written, default is the temp folder.
pluginLibraryPath (string) : Alternative path to folder containing V-Ray plugins.
includePaths (string) : Semicolon separated list of file system paths to the folders containing scene include files.
noRenderLicensePreCheck (boolean) : Do not check if RenderNode license is available when creating the server (it's always checked when rendering is started), default: false.
changeCurrentDirectory (boolean) : Change the current folder to remoteScenePath, default: false.
keepSceneInMemory (boolean) : Do not write a temporary vrscene-file, keep the scene data in memory only, default: false.
overwriteLocalCacheSettings (boolean) : True to override any local cache settings on the render servers with the value from the client machine. Default: false.
runAsLiveLink (boolean) : True to use the underlying renderer as a dr/live-link interface. Default: false.
cachedAssetsLimitType (number) : 0 for no limiting; 1 for time limiting; 2 for space limiting. See cachedAssetsLimitValue. Default: 0.
cachedAssetsLimitValue (number) : Value for the cache limit (hours or GB). Default: 0.0.
dr2AsDispatcher (boolean) : (DR2 only) Whether the instance will act as a Dedicated Dispatcher.
dr2RunLocalRenderServer (boolean) : (DR2 only) (Dispatcher only) Whether the dispatcher should run a local render server
dr2SecureConnection (boolean) : (DR2 only) Whether SSL/TSL should be enabled for connections from/to this dispatcher/server
dr2DisableUdp (boolean) : (DR2 only) Whether UDP discovery should be disabled
dr2ListenOnIpv4 (boolean) : (DR2 only) Whether to listen on IPv4 local sockets
dr2ListenOnIpv6 (boolean) : (DR2 only) Whether to listen on IPv6 local sockets
dr2PipelinedUpstream (boolean) : (DR2 only) Whether to use pipelining. Note pipelining will be disabled internally (even if requested), if a proxy is configured or is discovered between the client and a remote server.
dr2HttpProxy (string) : (DR2 only) server:port connection parameter for http connections via proxy
dr2WorkerThreadsPerServer (number) : (DR2 only) Number of worker threads per each server instance we start
dr2ConnectTimeout (number) : (DR2 only) Initial connection timeout in seconds
dr2UpstreamChannels (number) : (DR2 only) Number of upstream connections, which the client side will use, when pipelining is not enabled

SubFileInfo

SubFileInfo

Type: object

Properties
type (string) : one of 'view', 'lights', 'geometry', 'nodes', 'materials', 'textures', 'bitmaps', 'render_elements'
suffix (string) : a suffix for the file name (before extension) of this part of the scene

Transform

The object is a composite of a vray.Matrix and a vray.Vector that represent an affine transformation. It supports mathematical operations like multiplication and addition; equality comparison; indexing, where the matrix is [0] and the offset [1]. This object is immutable. Available constructors are:
Transform()
Transform(number, number, number, number, number, number, number, number, number, number, number, number)
Transform(number[]|Vector, number[]|Vector, number[]|Vector, number[]|Vector)
Transform(Matrix, number[]|Vector)
Transform(Transform)

new Transform()
Properties
matrix (Matrix) : The rotation & scale matrix
offset (Vector) : The translation vector
Instance Members
add(transform)
sub(transform)
mul(t)
mulVector(v)
div(n)
negative()
inverse()
transformVector(v)
replaceMatrix(m)
replaceOffset(v)

TransformList

An Array-like object that holds transform instances data. It consumes less memory than a js array containing the same transforms. The object is not resizable.

Available constructors:
TransformList()
TransformList({number})
TransformList({FloatList|Float32Array}, {boolean})
TransformList({Transform[]})
TransformList({Transform}, {Transform}, ...)

new TransformList()
Properties
floatList (FloatList) : Provides a FloatList view of the TransformList data buffer. Each 12 consecutive floats represent a Transform.
Instance Members
count()

getChildPlugins

Returns a list of plugin dependency links. Any reference to another plugin from a property (including list property) will append a PluginLink tuple to the list Properties are checked in the order of their definition in the plugin descriptor.

getChildPlugins(root: Plugin, recursive: boolean): Array<PluginLink>
Parameters
root (Plugin) The plugin to start from
recursive (boolean) If True, after processing all the properties of one plugin recursively check the dependency plugins.
Returns
Array<PluginLink>: Array of objects describing one-to-one plugin relationships
Example
var pluginsUsedByMaterial = Util.getChildPlugins(renderer.plugins.multiMaterial2);

getParentPlugins

Returns a list of plugins that directly reference the given child plugin.

getParentPlugins(child: Plugin): Array<PluginLink>
Parameters
child (Plugin) The plugin which we is used by "parents"
Returns
Array<PluginLink>: Array of objects describing one-to-one plugin relationships
Example
var pluginsUsingMaterial = Util.getParentPlugins(renderer.plugins.multiMaterial2);

getIESPrescribedIntensity

Returns the prescribed intensity of the light specified in an .ies file.

getIESPrescribedIntensity(iesFile: string): float
Parameters
iesFile (string) The .ies file name full path
Returns
float: Prescribed intensity defined in the .ies file, or -1 if an error occured
Example
var intensity = Util.getIESPrescribedIntensity(fileName);

copyPlugins

Copies some of the specified plugins in the includeListOfPlugins list of the srcRenderer and some of their successors, depending on an exludeListOfPlugins, a user-defined pre-create callback to the dstRenderer and at the end, invoking a user-defined post-create callback on the created plugins after all have been processed. REMARK: if a plugin scheduled to be visited by the preCreateCallback is deleted, it will not be counted as an error and it will be skipped as well as the successors that were attached to it as we have no reference to them. WARNING: One should decide how to handle singleton plugins (plugins which have at most one instance in a scene)! WARNING: We highly recommend that you don't modify plugins (including deletion, clearing the scene etc.) of srcRenderer and dstRenderer for the whole duration of this call! Doing so could lead to unexpected results including crashes. If the includeListOfPlugins is empty, we will invoke the preCreateCallback on all the plugins of the srcRenderer (a part from the rtEngine). If the includeListOfPlugins is non-empty, we will surely invoke the preCreateCallback on all plugins in the list and all successors which have been approved by the preCreateCallback invocations. If the excludeListOfPlugins is empty, it does not affect anything. If the excludeListOfPlugins is non-empty, then the mentioned plugins in it will not be scheduled to be visited by the preCreateCallback (even if they are mentioned explicitly in the includeListOfPlugins or implicitly via relatedness to a plugin mentioned in the includeListOfPlugins) and will surely not be copied. Their successors will also not be scheduled, but are not banned to be scheduled by being in another plugin's successor list. What can you do with the preCreateCallback? You get as arguments the dstRenderer and the srcPlugin. You will return an object which can contain the following properties: - name - A string with which we will try to rename the plugin in the dstRenderer. If it is an empty string, then this plugin creation will be skipped and successors will not be processed. Default is empty string. REMARK: If the "name" field of the object is missing, then the plugin being reviewed will be skipped. - skipOnlyCurrentPlugin - A boolean variable which, if true and combined with the field "name" being an empty string, then the plugin is skipped, but successors will be processed. Default is false. Can be skipped. - skipAllSuccessorsOfCurrentPlugin - A boolean variable which, if true will ensure that no successors of the currently processed plugin will be processed. Default is false. Can be skipped. - overwriteExistingPlugin - A boolean variable which, if set to true, if there is a plugin in the dstRenderer with the same name as the one specified in the field "name", it will try to overwrite it (reusing the existing instance and not recreating it from scratch). Keep in mind that they may not be of the same type, and if it occurs, then the created plugin will have an auto-generated name and the postCreateCallback integer enumerable argument autoRenamedResult will be set to the corresponding value. Default is false. Can be skipped. What can you do with the postCreateCallback? You get as arguments the dstPlugin, srcPluginName, autoRenamedResult and preCreateCallbackReturnedName. Some more information about some of the arguments: - srcPluginName - A string that is the same as srcPlugin name. - autoRenamedResult - An integer constant which is used to indicate how the renaming process has finished. Can be:

    <ul>
    <li>'vray.Util.NO_AUTO_RENAME' - No automatic renaming has occured.</li>
    <li>'vray.Util.NO_OVERWRITE_NO_EXISTING_PLUGIN_BUT_INVALID_PLUGIN_NAME' - We have not set the plugin to be overwritten,
    and there isn't a plugin with the same name in the dstRenderer, but the chosen plugin name is invalid.
    Hence, the plugin is created, but automatically renamed.</li>
    <li>'vray.Util.NO_OVERWRITE_BUT_EXISTING_PLUGIN_WITH_NAME' - We have not set the plugin to be overwritten,
    but there is an existing plugin in the dstRenderer with the same name, so we fallback to automatic renaming.</li>
    <li>'vray.Util.OVERWRITE_EXISTING_PLUGIN_WITH_NAME_BUT_DIFFERENT_TYPE' - We have set the plugin to be overwritten
    if there exists a plugin with the same name in the dstRenderer, but the plugins don't have the same plugin type.
    Hence, fallback to automatic renaming.</li>
    </ul>
- preCreateCallbackReturnedName - A string that is the same as "name" field in the returned object of the preCreateCallback.
copyPlugins(srcRenderer: VRayRenderer, dstRenderer: VRayRenderer, includeListOfPlugins: Array<(string | Plugin)>, excludeListOfPlugins: Array<(string | Plugin)>, callback: function (copyPluginsReturnResult: number, err: Error))
Parameters
srcRenderer (VRayRenderer) The source renderer (a valid VRayRenderer object). All plugins in the following lists must be of this renderer.
dstRenderer (VRayRenderer) The destination renderer (a valid VRayRenderer object).
includeListOfPlugins (Array<(string | Plugin)>) A list of plugin names and/or plugin instances that will be processed. Can be null/undefined.
excludeListOfPlugins (Array<(string | Plugin)>) A list of plugin names and/or plugin instances that will be excluded from being processed. Can be null/undefined.
callback (function (copyPluginsReturnResult: number, err: Error)) copyPluginsReturnResult - Will return the number of successfully copied (plus the overwritten) plugins on success and -1 on an error. The callback function is called when the copying is finished.

copyPluginsOfType

Copies some of the specified plugins of type (class) pluginType of the srcRenderer and some of their successors, depending on a user-defined pre-create callback to the dstRenderer and at the end, invoking a user-defined post-create callback on the created plugins after all have been processed. REMARK: if a plugin scheduled to be visited by the preCreateCallback is deleted, it will not be counted as an error and it will be skipped as well as the successors that were attached to it as we have no reference to them. WARNING: One should decide how to handle singleton plugins (plugins which have at most one instance in a scene)! WARNING: We highly recommend that you don't modify plugins (including deletion, clearing the scene etc.) of srcRenderer and dstRenderer for the whole duration of this call! Doing so could lead to unexpected results including crashes. What can you do with the preCreateCallback? You get as arguments the dstRenderer and the srcPlugin. You will return an object which can contain the following properties: - name - A string with which we will try to rename the plugin in the dstRenderer. If it is an empty string, then this plugin creation will be skipped and successors will not be processed. Default is empty string. REMARK: If the "name" field of the object is missing, then the plugin being reviewed will be skipped. - skipOnlyCurrentPlugin - A boolean variable which, if true and combined with the field "name" being an empty string, then the plugin is skipped, but successors will be processed. Default is false. Can be skipped. - skipAllSuccessorsOfCurrentPlugin - A boolean variable which, if true will ensure that no successors of the currently processed plugin will be processed. Default is false. Can be skipped. - overwriteExistingPlugin - A boolean variable which, if set to true, if there is a plugin in the dstRenderer with the same name as the one specified in the field "name", it will try to overwrite it (reusing the existing instance and not recreating it from scratch). Keep in mind that they may not be of the same type, and if it occurs, then the created plugin will have an auto-generated name and the postCreateCallback integer enumerable argument autoRenamedResult will be set to the corresponding value. Default is false. Can be skipped. What can you do with the postCreateCallback? You get as arguments the dstPlugin, srcPluginName, autoRenamedResult and preCreateCallbackReturnedName. Some more information about some of the arguments: - srcPluginName - A string that is the same as srcPlugin name. - autoRenamedResult - An integer constant which is used to indicate how the renaming process has finished. Can be:

    <ul>
    <li>'vray.Util.NO_AUTO_RENAME' - No automatic renaming has occured.</li>
    <li>'vray.Util.NO_OVERWRITE_NO_EXISTING_PLUGIN_BUT_INVALID_PLUGIN_NAME' - We have not set the plugin to be overwritten,
    and there isn't a plugin with the same name in the dstRenderer, but the chosen plugin name is invalid.
    Hence, the plugin is created, but automatically renamed.</li>
    <li>'vray.Util.NO_OVERWRITE_BUT_EXISTING_PLUGIN_WITH_NAME' - We have not set the plugin to be overwritten,
    but there is an existing plugin in the dstRenderer with the same name, so we fallback to automatic renaming.</li>
    <li>'vray.Util.OVERWRITE_EXISTING_PLUGIN_WITH_NAME_BUT_DIFFERENT_TYPE' - We have set the plugin to be overwritten
    if there exists a plugin with the same name in the dstRenderer, but the plugins don't have the same plugin type.
    Hence, fallback to automatic renaming.</li>
    </ul>
- preCreateCallbackReturnedName - A string that is the same as "name" field in the returned object of the preCreateCallback.
copyPluginsOfType(srcRenderer: VRayRenderer, dstRenderer: VRayRenderer, pluginType: (string | Class), callback: function (copyPluginsReturnResult: number, err: Error))
Parameters
srcRenderer (VRayRenderer) The source renderer (a valid VRayRenderer object). All plugins in the following lists must be of this renderer.
dstRenderer (VRayRenderer) The destination renderer (a valid VRayRenderer object).
pluginType ((string | Class)) The type (class) of the plugins to be processed. Cannot be null or undefined.
callback (function (copyPluginsReturnResult: number, err: Error)) copyPluginsReturnResult - Will return the number of successfully copied (plus the overwritten) plugins on success and -1 on an error. The callback function is called when the copying is finished.

Vector

A mathematical vector in 3D space. Supports the usual mathematical operations including dot and cross products (* and ^). The three components can be indexed like a list. This object is immutable. Available constructors are:
Vector()
Vector(number, number, number)
Vector(number[])
Vector(Vector)

new Vector()
Properties
x (number) : Vector X axis value
y (number) : Vector Y axis value
z (number) : Vector Z axis value
Static Members
mixed(Vector, Vector, Vector)
Instance Members
add(v)
sub(v)
mul(m)
div(d)
dot(v)
cross(v)
crossMatrix(m)
length()
lengthSqr()
normalize()
rotate(axis)
negative()

VFB

A namespace-like class for VFB related methods. It's associated with one specific VRayRenderer instance and does not affect any other instances.

VFB

Type: Object

Properties
shown (boolean) : Show/hide V-Ray frame buffer.
interactivity (boolean) : Gets/sets whether moving and rotating the scene with the mouse in V-Ray VFB is enabled.
position ({x: integer, y: integer}) : Get/set the V-Ray VFB window position in screen coordinates.
size ({width: integer, height: integer}) : Get/set the V-Ray VFB window size in pixels.
alwaysOnTop (boolean) : Set the always-on-top state of the V-Ray VFB. No getter available.
confirmClearImage (boolean) : Gets/sets whether a confirmation dialog is shown when clearing the image buffer through the VFB "Clear image" button.
Static Members
enableProgressBar(enable)
setProgressText(text)
setProgressValue(value)
setProgressTextAndValue(text, value)
clearImage()
clearImage(level, message)
Instance Members
getState(part?)
setState(buffer, part?)
resetState()
getPersistentState()
setPersistentState(buffer)
getSettings()
getLayers()
setSettings(VFB2)
setLayers(VFB2)
loadColorCorrectionsPreset(filename)
saveColorCorrectionsPreset(filename)
setTitlePrefix(prefix)
setProjectPath(projectPath)
fillSettingsVFB(instanceName?)
applySettingsVFB()
loadImage(filename, callback)
loadImageSync(filename)
saveImage(fileName, flags?, callback?)
saveImageSync(fileName, flags?)

VFBContextMenuItem

VFBContextMenuItem

Type: object

Properties
id (number) : id of the menu item. Should be greater than or equal to 0
type (string) : type of the menu item. Possible values are "normal" and "checkbox".
enabled (boolean) : False if the menu should be disabled.
text (string) : Display text of the menu item
defaultValue (number) : Initial value of the item. Used only when the type is "checkbox". 0 means cleared and 1 means checked

VFBLayer

A namespace-like class for Layer related methods. It's associated with one specific VFBLayerManager instance (VRayRenderer instance) and does not affect any other instances.

VFBLayer

Type: Object

Instance Members
getIntegerID()
getLayerManager()
getEnabled()
setEnabled(enabled)
getUserName()
setUserName(layerUserName)
getOpacity()
setOpacity(opacity)
getBlendMode()
setBlendMode(blendMode)
getUniqueTreePathID()
getClass()
isValid()
canDelete()
getParent()
getChildrenCount()
getChildren()
getChild(childIndex)
canBlend()
getLayerPropertiesCount()
getLayerPropertyNames()
getLayerPropertyDisplayName(propertyName)
resetLayerPropertyToDefault(propertyName)
getLayerPropertiesReadOnly()
isLayerPropertyReadOnly(propertyName)
getLayerPropertyType(propertyName)
getLayerPropertiesOfType(layerType)
getLayerEnumProperties()
getLayerPropertyIntEnumValues(propertyName)
getLayerPropertyFlags(propertyName)

VFBLayerManager

A namespace-like class for VFB Layer management related methods. It's associated with one specific VFB instance (VRayRenderer instance) and does not affect any other instances. Note: if you want to manipulate values related to externally loaded configurations (e.g. OCIO) concerning the Display Corrections layer, the VFB must be loaded and set to the correct profile in order to access the related values. Note: When beginning the rendering, the layers will be reloaded so all layer handles are invalidated. The same is true after every loadAllLayers, setAllLayers. A nice practice is to check whether the layer handle is valid before using it. Note: When beginning a rendering by default the parameters from SettingVFB 'vfb2_layers' and 'cc_settings' are used to overwrite the contents of the Layer Manager. If this is not a desired effect, then you can set the 'dont_affect_settings' parameter of the SettingsVFB plugin in the scene to true (the default value is false). If you don't want to use this parameter, you can use a combination of fillSettingsVFB and applySettingsVFB methods to write the changes of the layers to the vrscene plugin which will be later read when the rendering starts. If you want to work with the VFB layer settings from a loaded vrscene, you must manage the "loading" and "unloading" of those settings (using fillSettingsVFB, applySettingsVFB and the Layer Manager method reset).

VFBLayerManager

Type: Object

Properties
useVFBLayerManagerConfigurationForRendering (boolean) : Sets whether the Layer Manager layers settings are going to be used when the rendering with the VFB is started. By default if there is a SettingsVFB plugin, the parameters 'vfb2_layers' and 'cc_settings' have higher priority.
Instance Members
getVFB()
reset()
getLayersCount()
getRootLayer()
getDisplayCorrectionLayer()
getStampLayer()
getSourceLayer()
getDenoiserLayer()
getSharpenBlurLayer()
getLensEffectsLayer()
getLightMixLayer()
loadAllLayers(filename)
saveAllLayers(filename)
bakeLayersToLUT(filename)
getAllLayers()
setAllLayers(json)
createLayer(layerClass, parent)
deleteLayer(layer)
getAllLayersAsLayerObjects()
getCreatableLayerClasses()
findAllLayersWithLayerClass()
findAllLayersWithUserName()
getAllEnabledLayers()
getAllBlendableLayers()
lockLayers()
tryLockLayers()
unlockLayers()

getComputeDevicesMetal

Returns a list of all devices available for use by the Metal engine. macOS only.

getComputeDevicesMetal(): Array<ComputeDeviceInfo>
Returns
Array<ComputeDeviceInfo>: Empty list on failure.

getComputeDevicesOptix

Returns a list of all devices available for use by the Optix engine. Compute capability >= 5.2 is required to use Optix. All unsupported devices will be ignored.

getComputeDevicesOptix(): Array<ComputeDeviceInfo>
Returns
Array<ComputeDeviceInfo>: Empty list on failure.

getComputeDevicesCUDA

Returns a list of all devices available for use by the CUDA engine. The "CUDA CPU" device uses the CUDA engine code compiled for the x86-64 architecture. It is not the CPU V-Ray engine. It is disabled by default but you can enable it for faster "hybrid" rendering.

getComputeDevicesCUDA(): Array<ComputeDeviceInfo>
Returns
Array<ComputeDeviceInfo>: Empty list on failure.

getComputeDevicesDenoiser

Returns a list of all devices available for denoising.

getComputeDevicesDenoiser(): Array<ComputeDeviceInfo>
Returns
Array<ComputeDeviceInfo>: Empty list on failure.

setComputeDevicesMetal

Set which devices to use for rendering with the Metal engine. macOS only.

setComputeDevicesMetal(deviceIds: Array<Object>): boolean
Parameters
deviceIds (Array<Object>) Each object is either an integer or an array of integer index and boolean. The integers are the indices of the devices to use as returned by GetComputeDevicesMetal and the booleans are flags if the device should be used with low priority.
Returns
boolean: False if an error occurred.

setComputeDevicesOptix

Set which devices to use for rendering with the Optix engine. Compute capability >= 5.2 is required to use Optix. All unsupported devices will be ignored.

setComputeDevicesOptix(deviceIds: Array<Object>): boolean
Parameters
deviceIds (Array<Object>) Each object is either an integer or an array of integer index and boolean. The integers are the indices of the devices to use as returned by GetComputeDevicesOptix and the booleans are flags if the device should be used with low priority.
Returns
boolean: False if an error occurred.

setComputeDevicesCUDA

Set which devices to use for rendering with the CUDA engine.

setComputeDevicesCUDA(deviceIds: Array<Object>): boolean
Parameters
deviceIds (Array<Object>) Each object is either an integer or an array of integer index and boolean. The integers are the indices of the devices to use as returned by GetComputeDevicesOptix and the booleans are flags if the device should be used with low priority.
Returns
boolean: False if an error occurred.

setComputeDevicesDenoiser

Set which devices to for denoising when GPU denoiser is selected.

setComputeDevicesDenoiser(deviceIds: Array<integer>): boolean
Parameters
deviceIds (Array<integer>) The indices of the devices to use as returned by GetComputeDevicesDenoiser
Returns
boolean: False if an error occurred.

setComputeDevicesEnvironmentVariable

Set the user environment to the currently selected devices for each engine. Note that this will affect other V-Ray products as well.

setComputeDevicesEnvironmentVariable(): boolean
Returns
boolean: False if an error occurred.

createVRayServer

Creates a VRayServer asynchronously

createVRayServer(serverOptions: ServerOptions?, callback: function (err, server)?)
Parameters
serverOptions (ServerOptions?) The options for the server represented as a JSON object.
callback (function (err, server)?) Callback to be called with the server created

getMaterialLibraryPath

Gets the location of the Material Library if it has been installed on the system.

getMaterialLibraryPath(): string
Returns
string: The path to the Material Library or undefined if it's not installed.

isDR2

Returns true, if V-Ray is built with DR2 - Distributed Rendering generation 2. Returns false, in case of a DR1 build.

isDR2(): boolean
Returns
boolean: .

checkDRHostSync

Checks if a V-Ray server (host) is running and available to render.

checkDRHostSync(host: string): object
Parameters
host (string) hostName or hostName:port.
Returns
object: Status result with properties: ready {boolen} server ready to accept render requests status {string} possible values: "Error Resolve"; "Error Connect"; "Error Timeout"; "Server Ready"; "Server Unknown"; "Server Error"; "Server Busy"; cpuCount {number} the number of virtual CPUs on the server vrayVersion {string} server V-Ray version number hostResolved {string} hostName:port translated to ip:port hostConnectedTo {string} server is busy connected to this ip; available only if status is "Server Busy" revisionTime {string} the time the server revision is built

checkDRHost

Checks if a V-Ray server (host) is running and available to render.

checkDRHost(host: string, callback: function (err, result)?)
Parameters
host (string) hostName or hostName:port.
callback (function (err, result)?) Called when a result is available. For more details see the result of checkDRHostSync.

setEnvVar

Sets or removes an environment variable. V-Ray uses environment variables to unlock some behaviors and it could be difficult to set them when the host process (Node) uses a runtime different from V-Ray's, specifically on Windows.

setEnvVar(name: string, value: string): boolean
Parameters
name (string) Environment variable name.
value (string) Environment variable new value or null to remove.
Returns
boolean: true on success.

getEnvVar

Gets the value of an environment variable. V-Ray uses environment variables to unlock some behaviors and it could be difficult to set them when the host process (Node) uses a runtime different from V-Ray's, specifically on Windows.

getEnvVar(name: string): string
Parameters
name (string) Environment variable name.
Returns
string: Environment variable value.

close

(optional) Completely shuts down V-Ray and releases any used licenses. You can't use V-Ray after this call. This function is dangerous and not needed to be called in most cases.

close()

close

(optional) Closes all VRayRenderer, VRayServer and ScannedMaterialInfo instances synchronously. It is called internally when the process or a worker thread is exiting.

close()

setSDKLibraryPath

Before calling other methods, use this to set the path to VRaySDKLibrary.dll, if not on the system PATH

setSDKLibraryPath(path: string): boolean
Parameters
path (string)
Returns
boolean: true on success
Example
var vray = require('vray');
vray.setSDKLibraryPath('c:/appsdk/bin');
console.log(vray.sdkVersionDetails());

getSDKLibraryErrorStr

Returns detailed error info about SDK library loading errors.

getSDKLibraryErrorStr(): string
Returns
string: Returns detailed error info about SDK library loading errors.

getSDKLibraryMissingFunctions

Returns an array containing the names of the missing SDK library functions from the imported module.

getSDKLibraryMissingFunctions(): Array<string>
Returns
Array<string>: Returns an array containing the names of the missing SDK library functions from the imported module.

enableFrameBuffer

Enables or disables V-Ray frame buffer globally. If called before creating a renderer, this prevents initialization of the GUI component entirely There is a separate option 'enableFrameBuffer' for VRayRenderer that only affects the instance.

enableFrameBuffer(isEnabled: boolean)
Parameters
isEnabled (boolean)

encodeScannedMaterialParams

Encodes the V-Ray scanned material parameters into a binary block to be used as a value of BRDFScanned.param_block property.

encodeScannedMaterialParams(mtlParams: object): object
Parameters
mtlParams (object) the parameters to be encoded
Returns
object: paramBlock the encoded parameters

getScannedMaterialUILicense

Obtains scanned materials UI license.

getScannedMaterialUILicense(): int
Returns
int: On success returns the nuber of times this function is called or 0 on failure.

releaseScannedMaterialUILicense

Releases the scanned materials UI license obtained by getScannedMaterialUILicense().

releaseScannedMaterialUILicense(): int
Returns
int: The number of times left this function must be called to actually release the license. (equals to the number of successful getScannedMaterialUILicense() for which this function isn't called yet).

getOSLParametersSync

Gets the parameters from an .osl or .oso shader file. This is a synchronous blocking call.

getOSLParametersSync(fileName: string): Object
Parameters
fileName (string) Full path to an .osl or .oso file
Returns
Object: An object containing all output and input parameters

getOSLParameters

Gets the parameters from an .osl or .oso shader file.

getOSLParameters(fileName: string, callback: function (err, params)?)
Parameters
fileName (string) Full path to an .osl or .oso file
callback (function (err, params)?) Called after the OSL shader has been compiled and the parameters - parsed.

setLicenseServers

Sets the license server config. This only works while there are no renderers.

setLicenseServers(serverName: string, serverPort: number, serverName1: string?, serverPort1: number?, serverName2: string?, serverPort2: number?, proxyName: string?, proxyPort: number?, username: string?, password: string?, proxyUserName: string?, proxyPassword: string?): number
Parameters
serverName (string) Hostname or IP of primary license server
serverPort (number) default port is 30304
serverName1 (string?) Optional fallback license server
serverPort1 (number?)
serverName2 (string?) Optional second fallback license server
serverPort2 (number?)
proxyName (string?) Optional http proxy
proxyPort (number?)
username (string?) Optional login
password (string?) Password for the optional login
proxyUserName (string?) Login for the optional http proxy
proxyPassword (string?) Password for the optional http proxy
Returns
number: 0: Success -1: You can't change server settings while license is engaged -2: Cannot initialize authentication server. This is an internal error -3: Cannot find the appropriate method in vray.dll. This is most probably a version mismatch

setUSDProvider

This should be called before creating a Renderer. Set the name of the USD provider that should be initialized or "none" to disable the initialization.

setUSDProvider(usdProvider: string?)
Parameters
usdProvider (string?) The name of the USD provider.

createVRayRenderer

Creates a VRayRenderer asynchronously

createVRayRenderer(rendererOptions: RendererOptions?, callback: function (err, renderer)?)
Parameters
rendererOptions (RendererOptions?) The options for the renderer represented as a JSON object.
callback (function (err, renderer)?) Callback to be called with the renderer created

VRayProfilerMode

Specifies the operational mode of the Profiler. One of: "off" | "simple" | "full" | "process". The meaning of the values are:

<ul>
  • 'off' - No profiling.
  • 'simple' - Do not use, this mode will be mapped to Full mode.
  • 'full' - Profile the whole rendering process.
  • 'process' - Only profile the PREPARING state (e.g. plugin initialization, geometry compilation, etc.).
  • VRayProfilerMode

    Type: string

    VRayProfilerSettings

    The settings passed to the VRayRenderer.setVRayProfiler() interface.

    VRayProfilerSettings

    Type: object

    Properties
    mode ((number | VRayProfilerMode)) : VRayProfiler operational mode - 0 ('off'), 1 ('simple'), 2 ('full'), 3 ('process') - or one of the vray.PROFILER MODE * constants
    maxDepth (number) : The maximum ray bounces that will be profiled. Range [ 1, 8 ] .
    outputDirectory (string) : TThe directory where the profiler reports will be created. If nullptr is passed, temp directory is used.
    htmlTemplatePath (string) : The full path to the profiler html template. If this is left empty, the default location will be searched.
    productName (string) : Name of the host product.
    productVersion (string) : Version of the host product.
    sceneName (string) : Name of the scene that will be profiled. Used as a suffix to the generated filename.

    VRayRenderer

    This class controls the native V-Ray renderer and manages scene contents.

    new VRayRenderer(rendererOptions: RendererOptions?): VRayRenderer
    Parameters
    rendererOptions (RendererOptions?) The options for the renderer represented as a JSON object.
    Properties
    autoCommit (boolean) : Apply changes to renderer immediately if True (default) Otherwise changes are applied only when commit() is called. 'false' is useful for large batches of changes because it is more efficient to apply them all at once.
    options (Object) : Current renderer options.
    numThreads (number) : The number of threads V-Ray will use for rendering. 0 (the default) uses all CPU logical threads. This will throw an exception if set during rendering.
    inProcess (boolean) : Specifies whether the executing process participates in the rendering (when true, default) or whether the rendering is executed entirely by V-Ray DR render slaves (when false) This will throw an exception if set during rendering.
    size ({width: integer, height: integer, resetCropRegion: boolean, resetRenderRegion: boolean}) : The output image size(width and height) and flags for resetting the render region and crop region. Setting this (creates if necessary and) changes SettingsOutput in the scene. The size is reset after clearing the scene or loading another scene file.
    renderRegion ({left: integer, top: integer, width: integer, height: integer}) : The render region as an object (empty to reset) Setting this (creates if necessary and) changes SettingsOutput in the scene. The size is reset after clearing the scene or loading another scene file.
    cropRegion ({srcWidth: integer, srcHeight: integer, rgnLeft: number, rgnTop: number, rgnWidth: number, rgnHeight: number}) : The crop region as an object (empty to reset): The object defines a virtual crop region (rgnLeft, rgnTop, rgnWidth, rgnHeight) within a virtual source image space with size srcWidth, srcHeight. Image output size is unchanged (VRayRenderer.size) Setting this (creates if necessary and) changes SettingsOutput in the scene. The size is reset after clearing the scene or loading another scene file.
    frame (integer) : Frame number (int) to render when NOT in sequence mode. Also affects keyframes when setting animated property values. See useAnimatedValues. Current frame and current time are related through the 'fps' property of SettingsOutput. Could not be set during renderSequence. If read during renderSequence the value will be the next frame to be rendered after the call to continueSequence.
    time (integer) : The time (float) for animated properties. Current frame and current time are related through the 'fps' property of SettingsOutput. Could not be set during renderSequence. If read during renderSequence the value will be the time of the next frame to be rendered after the call to continueSequence.
    keepInteractiveRunning (boolean) : When set to true V-Ray won't quit interactive rendering even if timeout or noise threshold are reached. Defaults to false. If a noise/time limit is reached, the render engine will become idle, but it will not unload and it will restart sampling when a scene change is applied. The only way to end the render is to explicitly stop() it.
    useAnimatedValues (boolean) : When this is true, setting property values will use the current 'time' or 'frame' to create keyframes for animation. Defaults to false.
    renderEnded (boolean) : Checks if rendering is complete. If it ended in failure or got cancelled, this will still return true. Notice that an intermediate image may be available from getImage even if this returns false (because rendering is ongoing).
    sequenceEnded (boolean) : Gets the status of the sequence rendering process. This is not meaningful if you're not rendering a sequence.
    renderMode (string) : Sets the current render mode if the renderer is in an idle state. Defaults to Interactive.
    The available values are:
    • 'production' - VRayRenderer uses the Production engine for final quality.
    • 'productionCuda' - VRayRenderer uses the Production engine for final rendering with CUDA.
    • 'productionOptix' - VRayRenderer uses GPU for production rendering with Optix.
    • 'productionMetal' - VRayRenderer uses GPU for production rendering with Metal. macOS only.
    • 'interactive' - VRayRenderer uses CPU for interactive rendering.
    • 'interactiveCuda' - VRayRenderer uses GPU for interactive rendering with CUDA (for nVidia GPUs).
    • 'interactiveOptix' - VRayRenderer uses GPU for interactive rendering with Optix.
    • 'interactiveMetal' - VRayRenderer uses GPU for interactive rendering with Metal. macOS only.
    Note: CUDA and Optix modes require nVidia GPU and recent drivers. Optix is only supported with GPUs with Compute capability >= 5.2. Unsupported devices will be ignored.
    paused (boolean) : Returns whether interactive rendering is paused. See VRayRenderer.pause and VRayRenderer.resume.
    camera ((string | Plugin)) : Current camera plugin. This only matters in DR.
    cameraName ((string | null)) : Camera name override. Current camera is selected internally using the scene_name property of the camera plugins.
    state (string) : Returns the current state of the renderer. The available values are:
    • 'unknown' - Shouldn't occur
    • 'idleInitialized' - Initial state after construction or clearing.
    • 'idleStopped' - Rendering was interrupted by stop() or from the UI.
    • 'idleError' - Rendering was aborted due to an error.
    • 'idleFrameDone' - Waiting for continueSequence between the frames of an animation sequence.
    • 'idleDone' - Last rendering was completed successfully.
    • 'preparing' - Preparing to start rendering the scene.
    • 'rendering' - Rendering is ongoing. This may be any mode of rendering and any stage such as a prepass.
    • 'renderingPaused' - Interactive rendering has been paused.
    You could use VRayRenderer.isInactiveState(value) and VRayRenderer.isActiveState(value) to check wheter the value is within the IDLE subset or not.
    halfResolutionMode (boolean) : True if V-Ray is rendering internally half resolution (the images/data returned are upsampled to full resolution). False if V-Ray is rendering in full resolution.
    currentEventTime (number) : Get the current value (in seconds) of the relative time used in event callbacks
    minLogLevel (integer) : The minimum importance level of messages that will emit on('logMessage') events. One of the module constants LOGLEVEL_ERROR, LOGLEVEL_WARNING, LOGLEVEL_INFO, LOGLEVEL_DEBUG.
    lastError (string) : The last error that occurred when a method was called.
    progressiveImageUpdatedHasBuffer (boolean) : If an image passed in the ProgressiveImageUpdated event parameters is needed. If not, no unnecessary copies would be made.
    bucketReadyHasBuffer (boolean) : If an image passed in the BucketReady event parameters is needed. If not, no unnecessary copies would be made.
    plugins (Object<string, Plugin>) : Returns an object with V-Ray plugin name and instance pairs.
    classes (Object<string, Class>) : Returns an object with V-Ray class name and V-Ray class (plugin type) pairs.
    classCategories (Object<string, Category>) : Returns an object with V-Ray class category name and V-Ray class category pairs.
    renderElements (RenderElements) : Returns render elements wrapper object.
    vfb (VFB) : Returns a VFB wrapper object with methods related to the VFB.
    Returns
    VRayRenderer: V-Ray renderer
    Example
    var renderer = new vray.VRayRenderer();
    Instance Members
    start(callback?)
    stop(callback?)
    startSync()
    renderSequence()
    continueSequence()
    export(filePath, settings?, callback?)
    exportSync(filePath, settings?)
    serializeScene()
    setDREnabled(drEnabled, enableBroadcastListener)
    getDREnabled()
    isDRClientEnabled(params)
    isDRClientEnabled()
    isDRClientEnabled()
    addHostsSync(hosts)
    removeHostsSync(hosts)
    resetHostsSync(hosts)
    addHosts(hosts, callback?)
    removeHosts(hosts, callback?)
    resetHosts(hosts, callback?)
    getAllHostsSync()
    getActiveHostsSync()
    getInactiveHostsSync()
    getAllHosts(callback)
    getActiveHosts(callback)
    getInactiveHosts(callback)
    bucketRenderNearest(x, y)
    pickPlugin(x, y, timeout?, callback)
    pickPluginSync(x, y, timeout?)
    pickPlugins(x, y, maxcount?, timeout?, callback)
    pickPluginsSync(x, y, maxcount?, timeout?)
    waitForRenderEnd(timeout?, callback)
    waitForSequenceEnd(timeout?, callback)
    commit()
    getChangeIndex()
    setProgressiveImageUpdateDifference(difference)
    setProgressiveImageUpdateTimeout(timeout)
    setInteractiveSampleLevel(sampleLevel)
    setInteractiveNoiseThreshold(threshold)
    setInteractiveTimeout(timeout)
    clearAllPropertyValuesUpToTime(time)
    clearPropertyValuesUpToTime(time, categories)
    getImage(options?)
    getBoundingBox()
    getInteractiveStatistics()
    pause()
    resume()
    clearLastError()
    getComputeDevicesMetal()
    getComputeDevicesOptix()
    getComputeDevicesCUDA()
    getComputeDevicesDenoiser()
    setComputeDevicesMetal(deviceIds)
    setComputeDevicesOptix(deviceIds)
    setComputeDevicesCUDA(deviceIds)
    setComputeDevicesDenoiser(deviceIds)
    setComputeDevicesEnvironmentVariable()
    saveIrradianceMapFile(filename, callback)
    saveLightCacheFile(filename, callback)
    savePhotonMapFile(filename, callback)
    savePhotonMapFile(filename)
    saveCausticsFile(filename, callback)
    saveCausticsFile(filename)
    saveIrradianceMapFileSync(filename)
    saveLightCacheFileSync(filename)
    setResumableRendering(enable, params?)
    setBitmapCache(enable)
    denoiseNow(callback, shouldPassImage)
    updateLightingAnalysis()
    loadFilteredSync(fileName, filterCallback)
    loadAsTextFilteredSync(contents, filterCallback)
    appendFilteredSync(filterCallback)
    appendFilteredSync(filterCallback)
    appendFromBufferFilteredSync(filterCallback)
    loadFiltered(fileName, filterCallback, callback)
    loadAsTextFiltered(contents, filterCallback, callback)
    appendFiltered(filterCallback, callback)
    appendAsTextFiltered(filterCallback, callback)
    appendFromBufferFiltered(filterCallback, callback)
    setIncludePaths(includePaths, overwrite?)
    getAutoExposureResult()
    setVRayProfiler(settings)
    addVRayProfilerMetadata(category, key, value)
    setVFBContextMenuItems(items)
    setVFBContextMenuItemValue(commandId, value)
    getVFBContextMenuItemValue(commandId)
    setDebugShadingSelection()
    getInstanceHandle()
    close()
    close(callback?)
    clearScene()
    setImprovedDefaultSettings(preset?)
    load(fileName, callback?)
    append(callback?, drSendNameOnly?)
    loadAsText(text, callback?)
    appendAsText()
    loadSync(fileName, drSendNameOnly?)
    appendSync(drSendNameOnly?)
    loadAsTextSync(text)
    appendAsTextSync()
    loadFromBuffer(callback?)
    appendFromBuffer(callback?)
    loadAsBufferSync()
    appendFromBufferSync()
    deletePluginsSync(callback)
    deletePluginsSync()
    Events
    stateChanged
    progressiveImageUpdated
    bucketInit
    bucketFailed
    bucketReady
    logMessage
    licenseError
    progress
    renderViewChanged
    vfbRenderLast
    vfbRenderInteractive
    vfbClosed
    vfbClosed
    postEffectsUpdated
    vfbShowMessagesWindow
    hostConnected
    hostDisonnected
    vfbContextMenuSelected
    lightMixTransferToScene
    uploadToCollboration
    vfbAddRenderElementToScene
    vfbPauseIPR
    vfbUpdateIPR

    typedef {object} ScannedMaterialPreset

    Properties
    ccior (number) : ClearCoat index of reflection
    plain (integer) : Plain materials strategy
    bumpmul (number) : Bump multiplier for the inclined views
    bumpstart (number) : The z-value of the view vector below which bump is gradualy applied
    depthmul (number) : Displacement multiplier
    ccbump (number) : Clear coat noise-like bump amount (there is separate hmap bump)
    orggls (number) : Clear coat glossiness the inverse angle deviation width (60 is one degree), since 20.04.21 this is real preset, but the old materials use specbell\n"
    orgglvar (number) : Clear coat glossiness variation (0-none 1-the shallow anglesare glossy), since 20.04.21 this is real preset, but the old materials use scratchdens\n"
    ccmul (number) : Clear coat effect multiplier
    shdhmul (number) : Height multiplier for self shadowing
    shdmul (number) : Brightness multiplier for self shadowing
    flakes (integer) : Used to render materials with sharp sparks, a procedural map with relative size this param is used to feed the RR sampling
    forcebrdf (integer) : Controls how to use the smooth brdf model
    specbell (number) : CC specular highlights, inverse bell width (60 is one degree)
    scratchdens (number) : Controls the pure reflective behavior for inclined angles, a feature typical for brushed metal
    fuzzy (number) : Used mostly with top view fabrics, modifies the rendering of the inclined views making them blurred and fuzzy
    topvLs_A (number) : Used in top view materials to control the light direction correction
    keepflakesuv (number) : When flakes is nonzero (spark mode) this parameter specifies to not scramble the uv coordinates
    indmul (number) : Multiplier of the indirect light, used to handle the fluorescent materials by putting value below 1 in this member
    ccmetalrefl (number)
    thickness (number) : The sample thickness in mm, used to introduce alpha/translucency correction of thick materials
    triplanar (number) : Used to force triplanar mapping when certain customer has old vray (luxottica)
    transpf (number) : Value used to control the function converting translucency to transparency
    lfsizecm (number) : The large feature map physical size

    VRayServer

    Creates a V-Ray server instance.

    new VRayServer(serverOptions: ServerOptions?): VRayServer
    Parameters
    serverOptions (ServerOptions?) The options for the server represented as a JSON object.
    Properties
    minLogLevel (number) : The minimum importance level of messages that will emit on('logMessage') events. One of the module constants LOGLEVEL_ERROR, LOGLEVEL_WARNING, LOGLEVEL_INFO, LOGLEVEL_DEBUG.
    Returns
    VRayServer:
    Example
    var server = vray.VRayServer({portNumber: 8888});
    Instance Members
    start()
    close(callback?)
    stop()
    addHostsSync(hosts)
    removeHostsSync(hosts)
    resetHostsSync(hosts)
    addHosts(hosts, callback?)
    removeHosts(hosts, callback?)
    resetHosts(hosts, callback?)
    getAllHostsSync()
    getActiveHostsSync()
    getInactiveHostsSync()
    getAllHosts(callback)
    getActiveHosts(callback)
    getInactiveHosts(callback)
    Events
    start
    connect
    disconnect
    logMessage
    progress

    A node::Buffer::FreeCallback passed when creating a node::Buffer::New (with data allocated from v8::ArrayBuffer::Allocator or VRaySDKLibrary)

    A node::Buffer::FreeCallback passed when creating a node::Buffer::New (with data allocated with v8::ArrayBuffer::Allocator or malloc)

    Used when we need a node::Buffer object (with data allocated from VRaySDKLibrary), e.g. to return it from a function

    Used when we need a node::Buffer object (with data allocated with malloc), e.g. to return it from a function

    Used to get a v8::ArrayBuffer object reference (with data allocated from VRaySDKLibrary) and pass it to other interfaces, e.g. v8::Int32Array::New

    Used to get a v8::ArrayBuffer object reference (with data allocated with malloc) and pass it to other interfaces, e.g. v8::Int32Array::New

    Used to get a v8::ArrayBuffer object reference, in case we don't pass a ptr to externally allocated data - the data is allocated from the node::Buffer itself

    Used to get the data ptr and the byte length of a v8::TypedArray

    VRayImage

    Represents a V-Ray image. Supports many conversion functions. Allows direct access to the contained pixel data.

    new VRayImage(width: integer, height: integer, gamma: number)
    Parameters
    width (integer)
    height (integer)
    gamma (number)
    Static Members
    loadSync(fileName)
    load(fileName, callback?)
    loadSizeSync(fileName)
    loadSize(fileName, callback?)
    Instance Members
    close()
    save(fileName, format?, quality, preserveAlpha?, bitsPerChannel?, renderer?, callback?)
    compress(format, quality, preserveAlpha?, renderer?, callback?)
    getResized(width, height, callback)
    getDownscaled(width, height, callback)
    getFitIn(width, height, callback)
    getFitOut(width, height, callback)
    getCutIn(width, height, callback)
    getDownscaledCropped(x, y, srcWidth, srcHeight, dstWidth, dstHeight, callback)
    getResizedCropped(x, y, srcWidth, srcHeight, dstWidth, dstHeight, callback)
    getCropped(x, y, width, height)
    getDownscaledSync(width, height)
    getResizedSync(width, height)
    getFitInSync(width, height)
    getFitOutSync(width, height)
    getCutInSync(width, height)
    getDownscaledCroppedSync(x, y, srcWidth, srcHeight, dstWidth, dstHeight)
    getResizedCroppedSync(x, y, srcWidth, srcHeight, dstWidth, dstHeight)
    saveSync(fileName, format?, quality, preserveAlpha?, bitsPerChannel?, renderer?)
    compressSync(format, quality, preserveAlpha?, renderer?)
    getPixelData()
    draw(img, x?, y?, drawMode?)
    addColor()
    mulColor()
    changeExposure(ev)
    changeContrast(value)
    changeGamma(gamma)
    changeSRGB(apply)
    calculateWhiteBalanceMultiplierSync()
    makeNegative()
    toBitmapData(options?, stride, alphaValue)
    toIntList(type, alphaValue)

    typedef {object} BBoxAndVerticesAndFaceIndices

    Properties
    useConvexHull (boolean) : If true, the convex hull data is needed for the preview. Otherwise, only the bounding box. Always present.
    bbox (Box) : Bounding box of the luminaire. Always present.
    vertices ((VectorList | Float32Array)) : Vertices of light's convex hull. Optional.
    indices ((IntList | Int32Array)) : Vertex indices of the convex hull in consecutive triplets. Optional.

    BucketRegion

    Represents a bucket region object. The (x, y) position represents the upper left coordinate of the bucket matrix.

    BucketRegion

    Type: Object

    Properties
    x (integer) : The top left X coordinate of the rendered bucket region.
    y (integer) : The top left Y coordinate of the renderd bucket region.
    width (integer) : The actual width of the rendered bucket region.
    height (integer) : The actual height of the rendered bucket region.
    host (string) : The name of the host that does the rendering for the bucket region.

    GeometryData

    An object containing the data returned by Proxy.readPreviewGeometry()

    GeometryData

    Type: object

    Properties
    vertices ((VectorList | Float32Array)) : Output vertex preview data. The array can be passed on directly to DirectX/OpenGL etc. (and the indices too)
    indices ((IntList | Int32Array)) : Output face index data. Each three consecutive elements make up one triangle

    HairData

    An object containing the hair data returned by Proxy.readPreviewHair()

    HairData

    Type: object

    Properties
    vertices ((VectorList | Float32Array)) : Output vertex preview data. Consecutive vertices form hair strands. The i-th strand has lengths [ i ] consecutive vertices
    lengths ((IntList | Int32Array)) : Output hair strand length data. Each strand can have a different number of vertices

    ParticlesData

    An object containing the data returned by Proxy.readPreviewParticles()

    ParticlesData

    Type: object

    Properties
    positions ((VectorList | Float32Array)) : Output particle preview data. The positions of the preview subset of all particles

    RenderElement

    A convenience class that wraps Plugin instances which toggle (by their presence in the scene) the computation of render elements. It provides the only way to access the image data from these channels. The VRayRenderer class has direct access only to the RGB/Alpha channel.

    new RenderElement()
    Properties
    name (string) : Render element display name string, read-only.
    type (string) : Render element type string, read-only.
    binaryFormat (string) : Render element binary format string, read-only. See RenderElements.getAvailableBinaryFormats for a list.
    defaultPixelFormat (string) : Render element default pixel format string, read-only. See RenderElements.getAvailablePixelFormats for a list.
    plugin (Plugin) : Returns the plugin instance representing the render element. Might be invalid for special channels like EffectsResult.
    Instance Members
    getData(options?)
    getImage(x, y, width, height, layerIndex?, doColorCorrect?)
    getMetadata()

    RenderElements

    A namespace-like class that contains methods for manipulation of V-Ray render elements (a.k.a channels).

    new RenderElements()
    Instance Members
    getAvailablePixelFormats()
    getAvailableBinaryFormats()
    getAvailableTypes()
    add(type, instanceName, displayName)
    get(type)
    getAll(type)