LuxBlend25 LuxCore - LuxRender Wiki
Luxrender GPL Physically Based Renderer

LuxBlend25 LuxCore

Personal tools

From LuxRender Wiki

Jump to: navigation, search

Contents

Overview

The LuxCore API mode in LuxBlend grants access to the new LuxCore API, with new features like renderpasses or viewport rendering in Blender.
It is recommended to use the LuxCore API mode with the latest 1.7dev build of LuxRender.

Depending on the selected renderengine, some of the settings might look different from what is shown here.
Remember also that both the LuxCore API and the LuxCore mode in LuxBlend are still under heavy development.
If you encounter any problems, crashes, or have ideas how to improve the LuxBlend interface or functionality, please let us now in the forums.

The viewport rendering (realtime preview) is still considered unstable and should not be used for production!

New Features in LuxCore Mode

1.4+

  • Blender viewport rendering
  • Renderpasses like material ID, shadow masks etc.
  • LuxCore imagepipeline, new easy to use "Linear" tonemapper
  • Better integrated rendering inside Blender (stats, progress, tile highlighting)
  • Access to all native LuxCore features:
    • Volume precedence
    • Material IDs
    • Sampling control per material
    • Biaspath settings
    • Arbitrary clipping plane
    • Brightness clamping for all path engines to avoid fireflies
    • Experimental BidirVCM engine to handle difficult light paths (e.g. caustics in a mirror)
    • Volume light emission

1.5+:

  • C++ accelerated mesh export (about 16 times faster than the old Python export)
  • Light groups as renderpasses
  • Pointiness (implemented as texture in LuxBlend)
  • Arbitrary clipping plane
  • Much faster material and texture preview (using the new BiasedPath engine)

1.6+:

  • Editing of imagepipeline during final render, e.g. tonemapping (as known from Lux GUI)
  • Editing of lightgroups during final render (as known from Lux GUI)
  • Shadowcatcher
  • True transparency: fast rendering of transparent materials, unlimited transparency pathdepth (no black spots even with many overlapping faces), works in all AOVs (Depth, Material ID etc.)

1.7+:

  • RT Engines: optimized for realtime preview, enabled in viewport renders by default. Currently supported: RT Path OpenCL, RT Biased Path OpenCL

Missing Features

LuxCore is missing the following features compared to Classic API, so we can't support them in LuxCore mode yet:

  • Film resuming
  • Network rendering
  • Portals
  • Displacement
  • Dispersion (and spectral rendering in general)

Tips & Tricks

  • Version 1.4:
    • Depending on your system, GPU only rendering can be faster than rendering on GPU + CPU
    • Some tips to make GPU rendering faster: when using Biased Path, use big tiles (e.g. 128) and many samples per pass (e.g. 7 AA samples)
  • Version 1.5dev:
    • The rules for 1.4 don't apply here any longer, you can mix CPUs and GPUs and use small tiles as you wish, LuxCore will manage the load and get the maximum of performance out of each OpenCL device
    • Path OpenCL is currently the only engine using the new micro-kernels[1]. If you get "Kernel Compilation Error" when trying to render a scene with Biased Path OpenCL on an AMD GPU, try using Path OpenCL instead.
  • All versions:
    • Using a smaller filter size (in advanced engine settings) will make the image appear sharper. The "None" filter is the sharpest (simply because there's no filter applied). In most cases, you will want to use the default filter settings though, as they smooth out noise and make the image look more realistic
    • GPUs render faster when the "None" filter is used
    • If you are getting "Kernel Compilation Error" even with the latest drivers and LuxRender version, the problem may be a material the AMD compiler is unable to handle. Try rendering the scene in "Material Override" mode (in export settings in render tab) with all options ticked. Sometimes the cause is a mix material, e.g. it may work to mix null with matte, but crash when mixing null with glass. This can vary from scene to scene.

Supported GPUs

A list of supported GPUs for OpenCL rendering can be found here.

Updating LuxBlend

When using the LuxCore API it is recommended to update LuxBlend often.
LuxBlend can be updated from the user preferences window in Blender (Ctrl+Alt+U):

Note that this operation only updates the LuxBlend addon, not the LuxRender executables.
Also be aware that it updates to the very latest LuxBlend, which might only be compatible with the very latest LuxRender build.
You can find the latest daily build of LuxRender/LuxCore here.

Unbenannt.PNG

Switching to LuxCore API

Switch the "LuxRender API" dropdown menu in the render settings from "Classic" to "LuxCore".
This will hide some panels that are obsolete or not yet usable with LuxCore and display new menus for the new features, described below.
Settings regarding materials, lights etc. are shared between the two modes, while rendersettings and tonemapping settings are not shared.
You can switch between Classic and LuxCore anytime and as often as you like in a project, there are no settings lost.

01 switch 2.PNG

Viewport Rendering

Blender viewport render.jpg

Viewport rendering is supported, but still experimental and unstable.
Save often if you want to test this feature.
Some operations like deleting an object in Blender might not be supported by LuxBlend yet, so nothing will change or the rendering might stop.
When this happens, just restart the viewport render by switching to solid mode and then back to rendered mode.

Live Editing the Final Render

Several settings can be changed while LuxRender is rendering without losing the computed samples, e.g. tonemapping, postpro effects and lightgroups.
Demo video: https://youtu.be/dsUhw2Vrses?list=PLRIFDztiB74-xwNy7QQSLM1dq4bpGt-bp
These settings can be found in the properties panel of the image editor (default key: N):

Image editor pane.png

Render Settings

03 render settings.PNG

For a detailed description of LuxRender's rendering process and how to optimize these settings, see LuxRender Render Settings.

  • Final Device: Switch between the various engines for rendering the final image.

OpenCL mode is available when Path or Biased Path engines are used, Bidir and BidirVM only support CPU rendering.

  • Preview Device: Switch between CPU-only and OpenCL rendering for the viewport render.

Note: when the preview device is set to Biased Path, the realtime preview will fill in tile by tile as it would in a final render.

  • Engine:
    • Bidir (CPU): bidirectional pathtracer, recommended for scenes with complex lighting
    • Biased Path (CPU/OpenCL): pathtracer allowing fine control over the sampling process. Renders the image in tiles and uses a special, fixed stratified sampler. Excellent for use in animations. Only engine to support all passes
    • Path (CPU/OpenCL): pathtracer, recommended for scenes with simple lighting
    • BidirVCM (CPU): experimental bidirectional pathtracer with vertex merging
  • Max. Depth: maximum recursion depth/bounces for a ray.
  • Clamping: pixels brighter than this value will be clamped. This can be used to prevent/reduce fireflies. Setting this value too low will result in a grey, washed-out image.
    • To find a good clamp value, render with disabled clamping (set to 0.0), then switch the image slot in the image editor, set a clamp value of e.g. 1.0 and render again, then compare the two rendered images. If the image has not changed, reduce the clamp value. If the image has changed, the optimal clamp value is probably a bit higher than the current one.
  • Sampler:
    • Metropolis: recommended for scenes with difficult lighting or materials, e.g. indoor or caustics
    • Sobol: recommended for scenes with simple lighting, e.g. outdoors (full sunlight or HDRI), studio setups
  • Filter (advanced):
    • Blackman-Harris: default
    • Mitchell: can produce black ringing artifacts around bright pixels
    • Mitchell_SS: similar to Mitchell
    • Box: blocky result
    • Gaussian: more blurry than other filters
    • None: don't use a filter, fastest setting when rendering on the GPU
  • Halt Conditions: stop the rendering when one of the conditions is met.

The checkboxes enable/disable conditions for the final render only, preview conditions are always enabled.

Compute Settings

04 compute settings.PNG

  • Update OpenCL device list: auto-detect available OpenCL devices. LuxRender will use all selected devices. Only visible when a OpenCL rendering engine is used.
  • Threads count: Set the amount of threads to use for CPU rendering. 0 means auto-detect (uses all available cores). Only visible when a CPU rendering engine is used.
  • Tile size (BiasPath only): Tile size in pixels. Using a small tile size when rendering on the GPU can lead to bad performance. Larger tile sizes use more memory.
  • Tile Highlighting (BiasPath only): mark tiles with a color depending on their state:
    • Converged (green): finished tiles (noise level below threshold)
    • Unconverged (red): unfinished tiles (noise level above threshold)
    • Pending (yellow): currently rendered tiles

Passes (AOVs)

See the Passes page for a more detailed description and example images of the passes.
Note that only the Biased Path and Path engines support the advanced passes, the Bidir and BidirVM engines only support the alpha and RGB passes.

Here you can choose which passes LuxRender should generate in addition to the rendered image.
Note that the use of passes can slow down the rendering a bit, also it takes time to import them into Blender when the rendering is finished.

  • Enable: enable/disable AOV output (useful for testrendering)
  • Save: save passes to disk after rendering (uses the output path set in the render panel)
  • Normalize: tonemap HDR passes into 0..1 range

05 aovs.PNG

After rendering has finished or was cancelled, LuxBlend will import the passes into Blender, creating an image for each.
These images can for example be used in compositing via the "image input" node. LuxBlend automatically replaces the images when you render again.


08 import passes.png

Imagepipeline Settings

These settings are found in the camera panel when the camera is selected:

09 camera.PNG

This panel allows to manipulate the LuxCore imagepipeline.

  • Input Pass (advanced setting): specifies which pass to use as "starting point" for the pipeline. All following operations will be performed on this pass and the result will be the "Render Result" displayed in Blender.
  • Tonemapper: For details on tonemapping see this page. Only some of LuxRenders tonemappers are supported by LuxCore:
    • Linear (Auto): autolinear tonemapper, adapts to image brightness
    • Linear: non-adaptive linear tonemapper, parameter: brightness (a scale value)
    • Linear (Camera Settings): uses the camera settings (ISO, f-stop and shutter time) as parameters
    • Reinhard: non-linear tonemapper, see tonemapping for a description of the parameters
  • Analog Film Simulation: was called "Film Response Function" in Classic API and does exactly the same (emulates an analogue film)
  • Preview Interval: time between update in Blender's image editor while rendering (seconds)

Imagepipeline screenshot 2.png

Material Settings

These settings are found in the material panel:

10 material.PNG

06 material.PNG

  • Material ID: ID used in all MATERIAL_ID passes. Multiple materials can have the same ID (will have the same color in the MATERIAL_ID pass)
  • MATERIAL_ID_MASK pass: render a MATERIAL_ID_MASK pass containing a black/white mask for this material (and all materials with the same ID). The Material ID must not be -1
  • BY_MATERIAL_ID pass: render a BY_MATERIAL_ID pass for this material (and all materials with the same ID). The Material ID must not be -1

Biased Path specific settings:

  • Samples: Set number of samples to render for this material per pass (-1 = use default of this material type (diffuse, glossy, specular) in the engine settings). The actual number of samples is this value squared
  • Emission Samples: the number of shadow rays traced by BIASPATH (all other modes trace always only 1 shadow ray)
  • Diffuse indirect: Material visibility for indirect rays from diffuse materials
  • Glossy indirect: Material visibility for indirect rays from glossy materials
  • Specular indirect: Material visibility for indirect rays from specular materials
    • Material types (mix materials have all types of the materials they contain):
      • Diffuse: matte
      • Glossy: glossy, metal
      • Specular: glass, mirror

Node Materials

See LuxCore Node Materials Manual

Volume Settings

Volumes.png

  • Volume Priority: volumes with higher priority replace volumes with lower priority if there is an overlap. Example: [2]
  • Multiscattering: compute multiple scattering events in this volume. Recommended for volumes with high scattering scale (above around 10 or 20) because it looks more realistic. Usually increases noise.
  • Light Emitter: Enable light emission for this volume.

Arbitrary Clipping Plane

Arbitrary clipping plane.jpg

This feature is available in the camera settings. Click "Use Arbitrary Clipping Plane" and select the desired clipping plane object from the dropdown menu that appears.
Only the object rotation and position are used, so it is best to use a standard plane object and only edit it in object mode.
You can scale it any way you want to have a good preview of what will be clipped.

Export Settings

Export settings.png

  • Export Particles: global switch to enable/disable export of all particle systems
  • Export Hair: global switch to enable/disable export of all hair systems
  • Override Materials (Clay Render): replace all materials with a white matte material
  • Only Export Files: export meshes, textures and the renderconfig (scn/cfg) to the output path. Useful if you want to test SLG/LuxVR or render offline with the standalone Luxrender program

Debug:

  • Print Config in Terminal: option for developers. Print the generated scn and cfg properties in terminal after export