Application SDK
Getting Started with App SDK
Articles in this section
Advanced
This page provides links to advanced topics.
Getting Started with App SDK
Advanced Camera
This page provides links to different advanced functionalities of the camera:
Getting Started with App SDK
Advanced Render Elements
In this chapter, we cover the more advanced render elements, which we did not discuss in the previous one. Most of them are implemented using the RenderChannelColor plugin, unless stated otherwise.
Getting Started with App SDK
Animation
This page describes the animation types in V-Ray.
Getting Started with App SDK
Animation with Moving Objects
In this chapter we'll talk about the first type of animations V-Ray can render - these with moving (animated) objects. Generally V-Ray is able to animate all numeric/color values of plugin properties. This means that we'll consider "animation" every plugin property which value is changing over time.
Getting Started with App SDK
Antialiasing Filters
In this chapter we'll cover the various anti-aliasing filters implemented in V-Ray. According to Wikipedia: "An anti-aliasing filter (AAF) is a filter used before a signal sampler to restrict the bandwidth of a signal to approximately or completely satisfy the sampling theorem over the band of interest. Since the th...
Getting Started with App SDK
Antialiasing for Camera Effects
In this chapter we'll talk about Antialiasing (Sampling) settings in the context of achieving two effects which mimic physical cameras - DoF (Depth of Field) and Motion Blur. We'll cover them briefly, as we've already covered them in detail in the topic about Physical Camera (DoF and MB).
Getting Started with App SDK
Antialiasing for Shading Effects
In this chapter we'll talk about Antialiasing in the context of creating various Shading Effects. One thing we need to begin with is what is adaptive sampling generally. We'll continue with the new image sampler and its settings. Then we'll cover briefly what antialising is and the algorithms available in V-Ray. In...
Getting Started with App SDK
Basic Camera and Geometry
This page provides links to articles on the different geometry types available in V-Ray
Getting Started with App SDK
Basic Scene Example
This is a diagram of the most simple possible scene that will render an object. These are the plugins and parameters you will need to create and connect:
Getting Started with App SDK
Beauty, Masks and Utilities
The Diffuse Filter Render Element is one of the basic render elements used to form many other render elements.
Getting Started with App SDK
BRDFs
In this chapter we'll talk about different types of BRDFs which V-Ray supports. We'll cover BRDFBlinn, BRDFWard, BRDFGGX, BRDFCookTorrance, BRDFGlass and BRDFMirror. As we've talked in Chapter 1 BRDF stands for Bidirectional reflectance distribution function. Generally these plugins are attached to MtlSingleBRDF (or...
Getting Started with App SDK
Bump Mapping
In this chapter we'll cover the topic about the bump mapping technique.
Getting Started with App SDK
Camera View
One of the first things you'd want to do is control your camera. This is done through the RenderView plugin. You will always want to create and setup this plugin, exactly one, in your scenes. (The exception is when you are Texture Baking - then you'd use BakeView.)
Getting Started with App SDK
Cartoon Shading
In this chapter we'll cover the cartoon shading (VolumeVRayToon) implemented in V-Ray. VolumeVRayToon is a very simple atmospheric plugin that produces cartoon-style outlines on objects in the scene. Note that VolumeVRayToon is not intended to be a full NPR (non-photorealistic rendering) effect. However, it may be u...
Getting Started with App SDK
Caustics
In this chapter, we'll talk about caustics. According to Wikipedia: "А caustic or caustic network is the envelope of light rays reflected or refracted by a curved surface or object, or the projection of that envelope of rays on another surface. The caustic is a curve or surface to which each of the light rays is tan...
Getting Started with App SDK
Common Materials
This set of images demonstrates the effect of the Flake orientation parameter. Note how lower values produce flakes more aligned with the surface normal, so that light is reflected more uniformly. Higher values produce more random flakes leading to more variation in the flake illumination.
Getting Started with App SDK
Debugging
This chapter contains some troubleshooting tips for V-Ray and the App SDK.
Getting Started with App SDK
Directional Light
In this chapter we'll cover another simple light source - directional light. It represents an infinite parallel light source, such as a floodlight. Its direction is determined by the rotation part of the transform matrix.
Getting Started with App SDK
Distributed Rendering
Distributed rendering, as the name suggests, means distributing the rendering work among multiple computers. This allows you to scale up performance beyond what a single machine can offer.
Getting Started with App SDK
Dome Light
In this chapter we'll cover slightly more complex light source in V-Ray - the dome light. It represents a light emitting dome encompassing the scene at infinity. It's usually used for HDR image based lighting (IBL) with a spherical texture file.
Getting Started with App SDK
Dynamic Geometry
This page describes geometry primitives, which are generated at runtime when necessary and may be discarded to free up memory.
Getting Started with App SDK
Environment Fog
This page provides information about the Environment Fog volumetric in V-Ray APP SDK.
Getting Started with App SDK
Environment Overrides
In this chapter we'll cover the environment overrides settings. They specify colors or texture maps to be used during GI and reflection/refraction calculations. If a color/map is not specified, the background color specified in the Environment settings of the current camera is used. They are located in the SettingsE...
Getting Started with App SDK
Events
Rendering is handled in a separate thread (plus more additional threads for parallel computation). This asynchronous process signals the main thread using various events. They are briefly described in the Getting Started section; we will list them here as well.
Getting Started with App SDK
Exporting V-Ray Scene Files
This page provides information on V-Ray Scene Files (.vrscene) - how to export them so that they could be used in other workflows.
Getting Started with App SDK
Flythrough Animations
In this chapter we'll cover another type of animations supported by V-Ray - the flythrough animations. This means scenes where the camera "flies through" the scene, e.g. has its position animated. The other name which is used is "walk-through" animations.
Getting Started with App SDK
Fundamentals
These pages provides links to articles on some foundational knowledge about the building blocks of the App SDK - plugins and events:
Getting Started with App SDK
Gaussian Splats
In this chapter, we'll discuss Gaussian Splats. 3D Gaussian Splatting is a method used to create a 3D scene from images or videos. It requires several pictures of an object, each taken from a different angle. With Gaussian Splatting, the images are blended to produce a detailed, three-dimensional representation of t...
Getting Started with App SDK
Geometry Proxies and Instancer
In this chapter we'll talk about V-Ray Proxy Geometry and the Instancer functionality. We'll cover particles in a later section.
Getting Started with App SDK
Geometry Render Elements
In this chapter, we cover all render elements responsible for editing geometries from the scene.
Getting Started with App SDK
Getting Started
This page gives a quick overview of the App SDK and introduces you to the general topic of photorealistic rendering.
Getting Started with App SDK
GI for Exterior and Interior Scenes
In this chapter we'll cover some good settings of V-Ray that work for rendering exterior and interior scenes. You can check the other design-oriented tutorials here, and get the assets from them.
Getting Started with App SDK
Global Illumination
This page describes Global Illumination (GI) - a key part of the photorealistic rendering process - and its related settings.
Getting Started with App SDK
Global Settings
In this chapter we'll cover the main settings plugins in V-Ray. These include SettingsOutput, SettingsRTEngine, SettingsUnitsInfo, SettingsDMCSampler, SettingsDR, SettingsImageSampler, SettingsDMCGI, SettingsIrradianceMap, SettingsLightCache and SettingsColorMapping.
Getting Started with App SDK
Hair Material
V-Ray Hair Material is a material that is primarily designed for rendering hair and fur. It can be used to render geometry generated through the VRayOrnatrixMod modifier, the Procedural Fur | TexDirt primitive, or the 3ds Max Hair&Fur modifier (when in "mr prim" mode).
Getting Started with App SDK
IES Light
In this chapter we'll cover one of the most photorealistic lights present in V-Ray - IES light. IES stands for Illuminating Engineering Society. The plugin implements measured real world lights defined through an .IES profile, which shape can be overridden. The .IES profile generally represents the shape and the dir...
Getting Started with App SDK
Industry-specific
This page provides links to articles related to a specific industry - VFX, Architecture, etc.
Getting Started with App SDK
Interactive CPU Rendering
V-Ray Interactive handles changes in the scene description after rendering has started and re-renders the image immediately, progressively improving image quality. This makes this render mode preferable for use cases where the scene is changed a lot and visual feedback is required. It is slightly less efficient than...
Getting Started with App SDK
Interactive GPU Rendering
The Interactive GPU rendering modes rely on the GPU to perform almost all tasks, making use of either RTX or CUDA. Graphics cards have more pure computation power, but they can only make full use of it when the tasks are parallel and operations are the same for all data. This requires a different programming approac...
Getting Started with App SDK
Introduction
This page provides links to articles on the App SDK and introduces you to the general topic of photorealistic rendering:
Getting Started with App SDK
Introduction to Global Illumination
In this chapter, we'll begin the large topic of Global Illumination (GI) - a key part of the photorealistic rendering process. It's important to understand the inner working of the GI algorithms in order to be able to come up with good parameter values for your scenes. First, we'll cover briefly all algorithms, thei...
Getting Started with App SDK
Introduction to photo realistic rendering
In this chapter we'll present the foundations of ray tracing as a mean of photo-realistic rendering. We'll cover the differences between photo-realistic and real-time rendering, as well as present some common terms - camera, shading, ray tracing, lights, shadows, global illumination, materials, BRDFs, Monte-Carlo me...
Getting Started with App SDK
Legacy Materials
This page provides information about the legacy V-Ray materials. It is recommended to use their latest counterparts instead.
Getting Started with App SDK
Licensing
In this chapter we'll talk about an important part of the proper functioning of the App SDK - obtaining licenses from your code to unlock V-Ray.
Getting Started with App SDK
Light Luminaire
This page provides information about the Light Luminaire in V-Ray App SDK.
Getting Started with App SDK
Light Omni
In this chapter we'll cover the simplest light source in V-Ray - omni light. The omni light represents a point light source. It has parameters for the rate of decay and casting soft shadows (shadowRadius below).
Getting Started with App SDK
Light Rectangle
Good lighting is the most important thing for getting good photorealistic renders. It also affects image noise and performance. Some lights render faster and with less noise than others. Things that may affect noise and performance of lights are: having a texture instead of flat color; having a complex mesh; being a...
Getting Started with App SDK
Lighting
This page provides links to (almost) all light types available in V-Ray:
Getting Started with App SDK
Linear Workflow
"Gamma correction" is actually a data compression technique that relies on the non-linearity of our human visual system. It uses the limited number of bits to encode more dark levels where we are more sensitive to intensity changes while bright levels are more sparse. This is why floating point output formats don't...
Getting Started with App SDK
Linkage
Here we will discuss how to properly link and load the App SDK and V-Ray dynamic libraries.
Getting Started with App SDK
Matte Render Elements
In this chapter, we cover all Matte render elements. Most of them are implemented using the RenderChannelColor plugin, unless stated otherwise.
Getting Started with App SDK
Mesh Light
In this chapter we'll cover another area light - mesh light. It can turn a geometry plugin into a light source and can be textured.
Getting Started with App SDK
Miscellaneous Settings
In this chapter we'll cover the rest of the settings plugins, which are more rarely used.
Getting Started with App SDK
NURBS Geometry
In this chapter we'll cover the NURBS rendering functionality of V-Ray. NURBS stands for Non-uniform rational Basis spline.
Getting Started with App SDK
OpenPBR Shading Model
This page provides information about the OpenPBR shading model in V-Ray Material.
Getting Started with App SDK
Optimizations
In this chapter we'll talk about possible optimizations when integrating App SDK for different languages.
Getting Started with App SDK
Particle Systems
In this chapter we'll cover an advanced usage of the V-Ray Instancer - creating particle systems.
Getting Started with App SDK
Physical Camera - Depth of Field and Motion Blur
In this chapter we'll cover two effects possible because of the physical camera - Depth of Field (DoF) and Motion Blur (MB).
Getting Started with App SDK
Physical Camera - Introduction
The cameras in V-Ray generally define the rays that are cast into the scene, which essentially is how the scene is projected onto the screen. V-Ray supports several camera types: Standard, Spherical, Cylindrical (point), Cylindrical (ortho), Box, Fish eye, Warped sphere, Spherical panorama and Cube 6x1. Orthographic...
Getting Started with App SDK
Plugin Categories
Besides its type, a plugin (the scene object) may belong to one or more plugin category or categories such as being a Light, a Material, a Texture, etc.
Getting Started with App SDK
Plugin Parameters
In App SDK plugin parameters are presented as properties of the Plugin type (or its descendant concrete plugin types) in the statically typed languages (C++, C#) or the runtime plugin objects in the dynamic languages (Python, JavaScript). Also, they are often referred to as properties in code comments and docs.
Getting Started with App SDK
Plugins
Plugins are the building blocks in a V-Ray scene. Everything is a plugin - the lights, geometry, materials and settings.
Getting Started with App SDK
Plugins, Classes and Categories API
Disclaimer: This is not a full description of the types, their methods, properties, etc. Only general concepts are described here. For full description of the concrete types and their methods, see the API Reference Guides.
Getting Started with App SDK
Procedural Fur
V-Ray Fur is a very simple procedural fur plugin. The fur is generated only during render time and is not actually present in the scene.
Getting Started with App SDK
Production rendering
There are two main properties of the production render mode of V-Ray:
Getting Started with App SDK
Render Elements
This page describes the concept of render passes, essential render elements, and how to use them to create selection masks.
Getting Started with App SDK
Render Engines
This page provides links to articles on the different render engines (or rendering modes) available in V-Ray:
Getting Started with App SDK
Sampling
This page provides links to articles on Antialiasing in the context of creating Shading/Camera Effects, as well as to articles on the various anti-aliasing filters implemented in V-Ray.
Getting Started with App SDK
Settings
This page provides links to some of the settings available in V-Ray APP SDK.
Getting Started with App SDK
Setup
This page provides links to topic about the setup and integration of App SDK.
Getting Started with App SDK
Shading Materials
This page provides links to the most frequently used materials in V-Ray:
Getting Started with App SDK
Shading Textures
This page provides links to the most commonly used textures in V-Ray.
Getting Started with App SDK
Sphere Light
In this chapter we'll cover another area light source in V-Ray - the sphere light. It represents spherical area light. The geometric detail is parametrized by number of segments.
Getting Started with App SDK
Spot Light
The next type of light we'll cover is the spot light. It represents conical spot light, such as the light coming from a flashlight.
Getting Started with App SDK
Static Geometry
In this chapter we'll cover the main type of geometry in V-Ray.
Getting Started with App SDK
Stereoscopic Rendering
In this chapter we'll cover stereoscopic rendering in V-Ray. We'll cover plugins, which can be used to achieve this effect - VRayStereoscopicSettings.
Getting Started with App SDK
Sun Sky
In this chapter we'll cover a peculiar form of lighting - the sun and sky system in V-Ray. The goal of the plugin is to represent precise physical model of the sunlight. It simulates parallel rays. One can achieve soft shadows by modifying the intensity and the dimension of the rays. The color of the simulation is a...
Getting Started with App SDK
Texture Baking
In this chapter, we will discuss the process of texture baking with V-Ray.
Getting Started with App SDK
Textures - Procedural
In this chapter we'll cover some procedural textures which can be used in V-Ray.
Getting Started with App SDK
Textures Color Modifications and Combinations
In this chapter we'll cover some textures that modify and combine colors.
Getting Started with App SDK
Textures From Files
In this chapter we'll cover the V-Ray textures that load and present in various ways different file formats. The BRDFs (and some lights) have many Color, AColor and Float parameter slots that can be textured. You will usually just load texture files, but V-Ray also offers many procedural textures, as well as texture...
Getting Started with App SDK
Textures Other
In this chapter we'll talk about some additional utility textures, which we haven't mentioned before - TexMaxHairInfo, TexMulti, TexTriPlanar, TexUserColor, TexUserScalar.
Getting Started with App SDK
Textures Utility
In this chapter we'll cover some utility nodes for conversion of one type data to another - TexColor2Scalar, TexColorAverage, TexColorExponential, TexColorToFloat, TexFloatToColor, TexHSVToRGB, TexIntToFloat, TexInvert, TexRgbaCombine, TexRgbaSplit, TexVectorToColor.
Getting Started with App SDK
Thread Allocation
In this chapter we'll cover briefly the threading model of the App SDK:
Getting Started with App SDK
Troubleshooting
This page provides link to articles on how to fix issues, when using App SDK.
Getting Started with App SDK
UI and VFB
Edit note – Allows you to add a text comment to the image; the comment appears below the image.
Getting Started with App SDK
Utility Materials
V-Ray 2 Sided Material is translucent material intended to simulate thin bodies - little or no volume. It's not a separate material but a utility node - it allows other materials to inherit its qualities. It will enable the light to flow bidirectionally through the object. The types of objects simulated with it incl...
Getting Started with App SDK
Utility Render Elements
In this chapter, we cover the utility render elements. Most of them are implemented using the RenderChannelColor plugin, unless stated otherwise.
Getting Started with App SDK
UVWGens
In this chapter, we'll cover important utilities about texturing - UVW coordinate generators, or, for short, UVWGens. Generally, the UVW data is stored in the geometry, in GeomStaticMesh::map_channels. It has the following format:
Getting Started with App SDK
V-Ray Clipper
In this chapter, we'll talk about geometry clipping. VRayClipper is a geometric primitive that can be used to clip away parts of the scene with a simple plane. It is a render-time effect and does not modify the actual scene geometry in any way.
Getting Started with App SDK
V-Ray Displacement
In this chapter we'll cover the V-Ray Displacement functionality.
Getting Started with App SDK
V-Ray Material
This page describes the V-Ray Material and its properties in V-Ray APP SDK.
Getting Started with App SDK
Versioning
Since the App SDK is a higher-level API layer developed (mostly) independently of the renderer itself, it has its own API version. For example, currently it is at version 4.x, while the V-Ray core is 6.x. We didn't want to use the same major version number as major changes to the App SDK may not necessarily be coupl...
Getting Started with App SDK
VFB
This page provides links to articles on the VFB and on how we can control it via the App SDK.
Getting Started with App SDK
VFB Layers API
The VFB can be controlled programmatically via App SDK in many ways. One of them being by using various environment variables. Another is by getting and setting the VFB layer JSON string, which includes parsing it (easier in languages like Python and JavaScript, but difficult in C++ and C# without the help of specia...
Getting Started with App SDK
Wrapper Material
In this chapter we'll talk about the Wrapper material functionality (MtlWrapper). The MtlWrapper can be used to specify additional surface properties per material.
Getting Started with App SDK