Shader Nodes Reference / Blender
To some extent, Verge3D supports almost all nodes provided by Blender's Shader Editor. However, for most tasks of web-based real-time graphics it is sufficient to use just a limited set of them. Below we only list the nodes that are used in stock Verge3D demos.
Inputs and outputs that are supported by Verge3D are marked with green check mark, while unsupported ones are marked with red one.
Contents
- Shader Nodes
- Output Nodes
- Input Nodes
- Texture Nodes
- Color Nodes
- Vector Nodes
- Converter Nodes
- World-Specific Nodes
Shader Nodes
These nodes are in the core of any material, performing shading calculations for the object surface. Among them, the following nodes are used the most in Verge3D workflow:

Principled BSDF
This universal node implements the physically-based rendering model (aka PBR). Suitable for creating most materials for Verge3D.

By tweaking just a few options in the *Principled BSDF* node, you can quickly setup various good-looking materials. For best results, you might use an environment texture which provides reflections and image-based lighting, or just use the default cube template where the environment is set up for you.

Diffuse BSDF
This node implements the diffuse component of PBR. It is used for adding baked ambient occlusion to materials, or sometimes combined with *Glossy BSDF* node for more flexibility compared to *Principled BSDF* node.

In the following example, *Diffuse BSDF* is used to add baked ambient occlusion to chrome material:

Glossy BSDF
This node implements the specular component of PBR. It is used for purely metallic surfaces, or sometimes combined with *Diffuse BSDF* node for more flexibility.

Emission
This node is used to represent unlit (shadeless) objects. It is also used to represent glowing objects when combined with the bloom post-effect in Verge3D.

In the following simplified example, *Emission* is used for shadeless UI icons:

Transparent BSDF
This node implements transparent materials by mixing with other *Shader* nodes such as *Glossy BSDF*.

In the following simplified example, *Transparent BSDF* is used for the material of front glass:

Refraction BSDF
This node implements refractive materials by using the environment map for refraction.

Below is a simple usage example:

Add Shader
This node sums up two shaders together.

Mix Shader
This node mixes two shaders together.

Output Nodes
These nodes are the end point in a shader. For *Object* materials, only the following node is available (there is also a special output node for *World* materials):

Material Output
This node provide shading results for the surface point.

Input Nodes
These nodes provide various input information to the shader. Among them, the following nodes are used the most in Verge3D workflow:

Geometry
This node provides geometrical information (in world space) for the shaded point. At the moment, Verge3D supports only *Position*, *Normal*, *Incoming* and *Backfacing* sockets.

Attribute
This node retrieves mesh attributes. Only vertex colors are supported by Verge3D at the moment.

Texture Coordinate
This node provides UV-mapped or procedurely assigned coordinates for texturing. Verge3D takes the first UV layer from the list of UV layers available on the mesh.

UV Map
This node retrieves the specified UV layer from mesh. Unlike the *Texture Coordinate* node, this node works with any UV layer available on the mesh.

Fresnel
This node computes the proportion of light reflected vs refracted.

Layer Weight
This node provides a mix factor thats depends on the direction upon which the object surface is observed.

RGB
This node provides a color value to the shader.

Value
This node provides a numeric value to the shader.

Texture Nodes
These nodes provide bitmaps to the shader. Among them, the following nodes are used the most in Verge3D workflow:

Image Texture
This node provides an image file to be used as texture in the shader.

Gradient Texture
This node provides a smoothly changing range of colors and intensities.

Voronoi Texture
This node provides a bitmap with Voronoi patterns.

Noise Texture
This node provides a bitmap with noise patterns.

Color Nodes
These nodes provides various operations on colors. Among them, the following nodes are used the most in Verge3D workflow:

Mix
This node mixes two color inputs together using various blending modes.

RGB Curves
This node is used for color correction and level adjustment.

Invert
This node inverts the color input producing a negative.

Gamma
This node applies gamma correction to the color input.

Vector Nodes
These nodes provides various operations on vectors. Among them, the following nodes are used the most in Verge3D workflow:

Mapping
This node is used to transform a bitmap, including shifting, rotation and scale.

Normal Map
This node provides the normal vector from a bitmap interpreted as normal map.

Vector Transform
This node is used to convert an input vector between world, camera or object coordinate spaces.

Converter Nodes
These nodes provides means for converting between data of various types. Among them, the following nodes are used the most in Verge3D workflow:

Color Ramp
This node converts values to colors by using a gradient.

Shader to RGB
This node replaces shading calculation results with plain color. Typically used for non-photorealistic rendering.

RGB to BW
This node converts color to black and white imagery by using luminance.

Math
This node performs mathematical operations with numeric values:
- Add, Subtract, Multiply, Divide
- Power, Logarithm, Square Root, Absolute
- Minimum, Maximum, Less Than, Greater Than
- Round, Floor, Ceil, Fract, Modulo
- Sine, Cosine, Tangent, Arcsine, Arccosine, Arctangent, 2-Argument Arctangent

Vector Math
This node performs operations with vectors:
- Add
- Subtract
- Average
- Dot Product
- Cross Product
- Normalize

Combine/Separate Nodes
These nodes compose a color/vector from, or split it to, the individual channels.

World-Specific Nodes
These nodes are either available only for *World* materials (*Background*, *World Output*), or typically used with *World* materials (*Environment Texture*, *Light Path*):

Background
This node is used for setting up the background color, as well as for image-based lighting and reflections. It is rarely used on its own as it would produce just a solid color. You might combine with an environment texture for best results.

World Output
This node is the end point of *World* materials. It represents shading results for the environment.

Environment Texture
This node provides an image file to be used as environment texture in the shader. The images must be in equirectangular projection, and should typically be HDR, although JPEG or PNG formats can be used as well.
The default cube template includes an HDR image which you may reuse in your projects.

In the following example, a JPEG image is used to provide image-based lighting, reflections and the background, all at once.

Light Path
This node provides various information of Boolean type to the shader. The *Is Camera Ray* output is supported by Verge3D with the purpose to control whether the environment texture is visible in the background.

The following typical setup is used to provide environment lighting and reflections to the scene yet just render a white solid color in the background:

Got Questions?
Feel free to ask on the forums!