Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Each plugin instance is defined on a new line starting with its type name follow by a space, an instance name, another space and an opening curly brace.
  • Each parameter is written on a new line with its name, an equals sign with no whitespace on both sides and a value. The line ends with a semicolon. A parameter definition line may be split into multiple lines for long values such as lists.
  • References to other plugins are defined by writing our out their instance names without quotation. Output parameters are specified the same way with additional double colon and parameter name (instance_name::out_param_name).
  • The end of the plugin definition is marked with a closing brace on a new line.
  • C++ style single line comments are supported.
  • Files can be stitched together with an #include "another.vrscene" directive like in C.
  • References can be made to plugins which will be defined further down the file.

...

5.1. Material and BRDF plugins

  • MtlSingleBRDF - The main material type that needs to be connected to Node::material.
  • Mtl2Sided
  • MtlGLSL
  • MtlMaterialID
  • MtlMulti
  • MtlOverride
  • MtlRenderStats
  • MtlRoundEdges
  • MtlSingleBRDF
  • MtlToon - unused, why?
  • MtlVRmat
  • MtlWrapper
  • - Defines a (possibly different) material for the back side of triangles, as well as the front sides.
  • MtlMulti - Use this together with GeomStaticMesh::face_mtlIDs to set different materials for subsets of triangles on one geometric object.
  • MtlVRmat - Load a V-Ray shader from a .vrmat (formerly .vismat) file. Also supports loading MtlSingleBRDF materials from vrscene files. This is used for transferring materials between different host applications.
  • MtlGLSL - Loads a GLSL shader from file and provides some parameters for it.
  • MtlOSL - Loads an OSL shader from file and provides some parameters for it.
  • MtlRoundEdges - Smooths sharp edges within a given radius by modifying normals.

Some advanced materials:

  • MtlMaterialID - Can be used to define a unique color for a specific base material to be used in compositing from a dedicated render channel.
  • MtlOverride - Allows you to override the base material for any of the following: reflections, refractions, GI, shadows, environment.
  • MtlRenderStats - Overrides visibility and shadow settings for the object using a base material. This material is not to be used nested in bump, wrapper, two-sided or blend materials.
  • MtlWrapper - (really advanced) Can be used to specify additional surface properties per material related to GI, render elements etc.

BRDF plugins for the materials: 

  • BRDFBlinn
  • BRDFBump
  • BRDFCarPaint
  • BRDFCookTorrance
  • BRDFDiffuse
  • BRDFFlakes
  • BRDFGGX
  • BRDFGlass
  • BRDFGlassGlossy
  • BRDFHair3
  • BRDFLayered
  • BRDFLight
  • BRDFMirror
  • BRDFMultiBump
  • BRDFPhong
  • BRDFSSS2
  • BRDFSSS2Complex
  • BRDFScanned
  • BRDFSkinComplex
  • BRDFStochasticFlakes
  • BRDFVRayMtl
  • BRDFWard

...

5.2. Textures and UVW generators

...