LuxBlend25 LuxCore NodeEditor - LuxRender Wiki
Luxrender GPL Physically Based Renderer

LuxBlend25 LuxCore NodeEditor

Personal tools

From LuxRender Wiki

Jump to: navigation, search

Contents

Enabling Nodes

Nodes have to be explicitely enabled in the material settings by pressing the button "Use Material Nodes".
For Volumes this works exactly similar, but in the volume settings.

LuxBlend LuxCore nodes useNodesPre.PNGLuxBlend LuxCore nodes useNodesPost.PNG

This creates a nodetree and links it to the material. Now you can open a node editor and set the editor type to "LuxRender Material Nodes":

LuxBlend LuxCore nodes editorType.PNG

Volume Nodes

Volumes have their own type of node editor. Currently volume nodes can only be exported in LuxCore mode, so if you are using the Classic API, you have to use the old volume settings.

The material and volume node editors share many nodes that are applicable to both systems, but all nodes that only make sense in one of the systems are of course not available in the other.
For example you can't use an image texture or bump mapping on a volume in a meaningful way, thus these nodes are not available in the volume node editor.

Appending/Linking Node Materials

When you append or link node materials from another .blend file, you have to append/link the corresponding nodetree by hand along with the material.
You also have to append/link all blender images that are used by the image map nodes in the nodetree.
After appending/linking the nodetrees and images, you have to check the "Fake User" option for all of them, or they will be auto-deleted by Blender after a restart. This is because addons can't create "real" links between data in Blender.
Note also that you have to avoid name collisions between linked nodetrees and other nodetrees in the file (they are not allowed to have the same names).

Copying Node Materials

Because of Blender's code architecture, we can't establish "real" links between materials and nodetrees.
This unfortunately has the side effect that a nodetree will not be copied automatically along with the material when you press the usual "copy" button (i.e. the number near the material name). The copied material would then link to the same nodetree as the old material, making the whole point of the copy useless.

To make material copying convenient, a new button was added to the material settings (highlighted in green below):

LuxBlend LuxCore nodes copyNodes.PNG

This button will copy the nodetree along with the material.

Importing multiple images at once

There is a convenience operator that imports multiple images as imagemap nodes at once.
It can be found in the Add menu under Textures (1) > Import Multiple Images:

Import multiple images.png

Available Nodes

Output

Output.PNG

This node is the last building block in any chain of nodes. You need one material output for the material to work.
Having multiple output nodes will currently result in random behaviour, you can't choose the active output like in Cycles. Thus it is advised to only have one output node per nodetree.

  • Volumes:
    • Interior: Volume to assume on the inside of the surface
    • Exterior: Volume to assume on the outside of the surface
  • Advanced Options:
    • Material ID: Materials with the same ID will have the same color in the Material ID pass.
    • MATERIAL_ID_MASK pass
    • BY_MATERIAL_ID pass
    • Biased Path Settings (will only be used when Biased Path is set as renderengine):
      • Samples: Amount of samples to take for this material per pass.
        The default "-1" means to use the global default for this material type (diffuse/glossy/specular).
      • Visibility for diffuse/glossy/specular indirect rays: enable/disable the visibility of this material for indirect (i.e. secondary) rays spawning from diffuse/glossy/specular materials.
        For example disabling the specular visibility of a material will make it appear black in mirrors and reflections/refractions in glass.

None of the advanced options are available in Classic API mode.

  • Inputs:
    • Surface: Material to use for the object surface. Only the "Surface" output sockets of nodes from the "Material" category are allowed as input.
    • Emission: If the material should emit light, plug a Light Emission node into this socket.

Materials

Materials.PNG

See LuxRender Materials for a description of the materials.

Note the following differences between the "raw" Lux materials and the nodes in this category:

  • The Metal node is actually using the "Metal2" material
  • The Glass node unites all four glass materials ("Glass", "Glass2", "Architectural Glass" and "Roughglass") into a single node

Unsupported by LuxCore API:

  • Scatter Material
  • Double-Sided Material
  • Layered Material

Unsupported by Classic API:

  • The "Bump" slot of the mix material is not available in the Classic API

Textures

Textures.PNG

This category contains the new Image Map node as well as all of LuxRender's procedural textures.

Notes about the Image Map node:

  • When you select an image via the dropdown list, LuxBlend will set its "fake user" to true.
    This is done so the image is not deleted when you close Blender (because LuxBlend can't establish a real link to the image datablock, and this time it is purely the Blender architecture's fault).
  • When you use this node as a normalmap, plug the "Bump" output directly into the "Bump" input of the material node (without using the Bump node).
    Normalmaps do not have a traditional "bump height" applied to them, instead the height is baked directly into the normalmap.
    If you want to adjust the height, you can use a Math node set to "Multiply" (or any other mode as you see fit).

For example images of most of the textures see:
LuxRender Textures
LuxRender Textures Blender
LuxRender Textures Lux

Unsupported by LuxCore API:

  • Cloud Volume Texture
  • Harlequin Texture

Unsupported by Classic API:

  • Dots Texture

Mapping

Mapping.PNG

The mapping nodes provide 2D or 3D mappings for textures.

Currently, LuxCore only supports UV mapping for 2D textures and global/UV mapping for 3D textures. This is a limitation that will eventually get resolved.

The "Manipulate 2D/3D Mapping" nodes can be used to transform an existing mapping.
Example: Use a 3D Mapping to scale a clouds texture, then use a Manipulate 3D Mapping node to take the scaled mapping and also rotate it, and apply this to another texture.
This way you can easily scale two textures at once, while only rotating one of them.

Note that the "Manipulate 2D/3D Mapping" nodes are a LuxBlend-only feature and not a part of LuxCore/LuxRender.
This means that they are evaluated at export time, not render time and are most likely not available in other exporters.
Also, they can only be exported in LuxCore Mode, not in Classic API mode.

The initial 3D mapping is used for both textures, but further manipulated for the Blend texture

Unsupported by Classic API:

  • Manipulate 2D Mapping
  • Manipulate 3D Mapping

Color & Math

Color math.PNG

  • ColorMix: mix between two colors with the fac parameter (equal to e.g. the amount parameter of the mix material).
    A fac of 0 means that only the first color is used, a fac of 1 means that only the second color is used, and anything in between is a blend of the two colors.
    Several blending operations are available from the dropdown menu to mix colors, e.g. mix/add/subtract/multiply
  • Math: allows to do calculations with values or textures. Similar to the ColorMix node, but allowing value input.
    Note that unlike the similar Cycles math node, this one does not turn colors into greyscale automatically. Use a ColorMix node to do that if it is necessary.
  • Invert: inverts the input color. This node is just a utility shortcut for the operation "1 - input", which can be done with a math node as well.
  • Value: this node can be switched between color and float variant and allows to simply input a color or float value. Can be used to supply the same value to multiple sockets and easily change all of them at once.

Vertex Data

Vertex data.PNG

  • Vertex Colors: uses the first vertex color layer of the mesh
  • Vertex Mask: converts the selected color channel of the first vertex color layer to a greyscale mask

Fresnel

Fresnel.PNG

The Fresnel Color, Fresnel Preset and Fresnel NK File nodes can be used as inputs to the Metal material node (when switched to "Fresnel" mode).

Unsupported by LuxCore API:

  • Value
  • Cauchy
  • Sellmeier

Unsupported by Classic API:

  • Fresnel NK File

Light

Light.PNG

Plug the output socket of the Light Emission node into the "Emission" input of the Material Output node.
The color output of the spectrum nodes should be plugged into the "Light Color" input of the Light Emission node.

Unsupported by LuxCore API:

  • Gaussian Spectrum
  • Tabulated Data Spectrum

Classic API (deprecated nodes)

Deprecated.PNG

It is discouraged to use these nodes with the new LuxCore API, although most of them will work.
The Image Map node has a more modern counterpart that uses Blender's image datablocks for more convenient usage. This node can also directly be switched to behave as a normalmap.
The utility textures Mix/Add/Scale/Subtract have an equivalent in the "ColorMix" and "Math" nodes found in the "Color & Math" section that resembles their Cycles counterparts for more intuitive usage.