LuxMax Manual - LuxRender Wiki
Luxrender GPL Physically Based Renderer

LuxMax Manual

Personal tools

From LuxRender Wiki

Jump to: navigation, search

LuxMax is the 3ds Max to LuxRender exporter. It is mostly written in maxscript. While the script is still under development and not a finished project, it supports all render and lighting settings, all LuxRender materials and image textures and even most of the Blender and LuxRender procedural textures. You can also preview your materials and procedural textures without exporting your scene, use the new LuxRender 0.8 interior and exterior mediums as well as environment lighting (hdri), 3ds Max native standard lights and specific LuxRender light sources.

The purpose of this wiki page is to show most of the exporter's features and how they work, so as to enter the world of unbiased rendering as easily as with any other render engine. Even though this guide shows most of the stuff you can do with LuxMax we highly advise and encourage you to be part of our community and report your suggestions/issues in the LuxMax thread on the LuxRender forum.

Recently for SLG has been included in LuxMax. SLG (LuxRender’s experimental “small brother”) is included in the exporter package. While this program is under constant development it is stable enough to use many of its features. Future release will include SLG live mode, the ability to render while you are working on the scene, and immediately preview the results in the SLG render window.

Note: The SLG part of the exporter wont be documentated in this guide.

Contents

Installation

Clone the soure repository from here: https://bitbucket.org/luxrender/luxmax_exporter

Or download the repository as a zip archive: https://bitbucket.org/luxrender/luxmax_exporter/downloads

Unpack the downloaded zip and run the 'Create_Installer.bat' file to create a zip archive in the 'Installer' folder.

Unzip that file to the root of your 3dsmax install. (overwrite any existing files when updating\installing).

It works from 3dsmax version 2010 x32\x64 and newer.

Workflow

LuxMax is basically a script that exports your scene in a format suitable to load and render in LuxRender. For that purpose we created specific materials, textures, lights and helpers which you must use in order to export the scene correctly. When LuxMax exports your scene, it creates one .lxs file which contains the basic render settings and one folder containing a .lxm and a .lxo file as well as one .ply mesh file for each mesh object in your scene. To render you scene you just start LuxRender and open the .lxs file. The following sections will go through everything you need to use in order to make your projects come alive by using LuxRender. Currently supported versions of 3ds Max are 3ds Max 2010, 2011 and 2012.

LuxRender Materials

One of the first things you have to do when you want to use LuxRender is to use the correct materials supplied with the exporter. You can identify LuxMax supported materials by their LR_xxx name format. Note: In order to export your scene all materials in your scene must be a LuxRender material. LuxRender materials are used just like any other renderer's materials. Each one has its own unique parameters that you can set according to the effect you want to achieve. Every LR Material's properties are set in 3 rollouts.

the list of available LuxRender materials

Specific rollout

The specific properties rollout is named by the materials name. In this rollout there are properties that differ from material to material. For example in the image above you can see the Glossy materials properties. In this rollout you can choose diffuse and specular colors, the roughness of your material, the transmission or reflection and other properties according to the shader you have chosen.

the material specific panel for the glossy material

Common rollout

The common properties rollout is the same for all materials. In this rollout you can add properties to your object like Bump, Displacement, Emission or Interior/Exterior Volumes.

the common material panel for the glossy material

Preview rollout

In the preview rollout you can get a preview of the material, so as to get a very accurate look of how your material will look when rendered in LuxRender. You can choose between various Scenes, Render Quality and Size options as well as between three lighting conditions. Because the preview image is rendered by LuxRender you can get an exact idea of how your material will look. Note: If there is an object without a LuxRender Material the object will be exported with a matte material, using its wireframe color as the diffuse color.

material preview are rendered by LuxRender

LuxRender Textures

In order to enhance your materials LuxMax comes with a set of textures you can use in order to achieve the results you want. You can identify LuxMax supported textures by the LR_xxx name. Note: In order to export your scene correctly you must use only the LuxRender textures and not any other of 3ds max native ones. LuxRender textures can be divided into three main categories: image based, emissive and procedural textures.

all available LuxRender textures

Image textures

Imagemap texture is the equivelant to the regular 3dsMax bitmap texture. By using it you can load an imagemap and use it as texture in any of the materials properties.

the ImageMap Parameters panel

Procedural textures

Procedural textures work like the 3ds Max native procedural texture (like for example the noise texture). In contrast to the other maps, procedural textures contain a preview rollout where you can preview the texture and see the results of the various spinners and controls.

an example of the panels of a procedural texture

Emissive textures

Emissive textures are used in the common rollout, emission group, in the color map slots and contain info about the objects emission type. For more info check the LuxRender Lighting page.

the panel showing options for the gaussian emissive texture

color textures versus float textures

For both image textures and procedural textures, you must pay attention to the Texture filter type (color or float). It is very important to set this one right in order to see the map results in the material. Diffuse, Specular, Reflection, Transmission, Emission are properties that require color textures, so when you use a map in these material properties you should change the type to color.

On the other hand Bump, Displacement, Roughness and other are properties that require float textures. So when you use a texture in one of these material properties use the float type.

Note: If there is an error like “float map not found“ or “color map not found“ when loading the scene in LuxRender you probably have this option set wrong.

texture file name limitations

You can't have different materials or textures with the same name, if you do so you will get errors about material or texture being redefined and the results will be wrong.

Lighting

LuxRender lights

LuxMax supports many of the 3ds Max native light types. But in order to achieve realistic results it is highly recommended to use real lights (meshes that have a material with emission turned on). Although you can using point lights like 3ds Max spot light, doing this might create weird, unrealistic results.

Currently supported are all standard 3ds Max lights as well as all LuxRender ones found in Create -> Lights -> LuxRender. HDRI lighting is also supported.

One of the most important light sources is the LuxRender Sky system which generates a daylight system including real atmosphere options.

LuxRender's light sources will show up when selecting LuxRender in the lighting tab of the command panel

Emission in materials

Also one thing that you will definitely use is to assign a light material in a mesh object. That can be easily done by assigning a LuxRender Matte material to the object you want to use as a light source and enable the use emission option in the common rollout.

the emission panel of LuxRender's matte material

Environment lighting

To enable HDRI lighting you just need to load a regular 3ds Max Bitmap map pointing to an .exr or .hdr latlong image in the environment button found on Rendering -> Environment just as you do in any other render engine. Note: if you export your scene without lights the exporter will auto add a sky light as otherwise the scene would end up being completely black. Note: the environment tab is the only place where you should use a standard 3ds max bitmap map instead of a LuxRender imagemap.

to set up HDRI lighting, use a 3ds Max bitmap

Camera

You can render your scene either by using a camera or by using any perspective view. However, using a LuxRender Camera is highly recommended so as to be able to use many useful futures that add realism to your renders. These settings include Lens parameters like Auto focus, Manual focus, Realistic Depth of field, Motion Blur, Camera shifting and clipping.

To create a LuxRender Camera just go to Create -> Cameras -> LuxRender

cameras can be created through the command panel

The camera is a free camera but you can easily add a target by pressing the create target button. In its properties tab you can find all the features mentioned above.

For more information on what these settings do please visit the LuxRender Camera page.

LuxRender's camera options

Volumes

LuxMax supports LuxRender's mediums system. In order to use volumes you have to create the new volume helpers under create -> helpers -> LuxRender

creating a LuxRender volume helper

In the helpers properties you can choose between the Clear and Homogeneous medium types, as well as assign the volume properties. Mediums can be assigned to any mesh object as interior or exterior medium by selecting the medium in the objects material’s common rollout. Also they can be assigned as exterior medium to LuxRender lights and to the LuxRender Camera.

clear volume properties

homogeneous volume properties

Assign helper

In order to assign the helper you must first click on the box next to the Interior or Exterior volume and then select the volume helper in the scene. For example see the screenshot below. There a helper with a name “World” is created, which is then assigned to the exterior of a material. This way the object to which the material is assigned will be treated as if the exterior volume of the object is the World volume with the properties that are assigned to it.

assigning volumes to objects

Instancing

LuxRender can use instances to save memory usage. LuxMax exports your instances correctly like any other geometry. In fact use of instances helps you save both hard disk space (as only one .ply file is exported) and memory usage during rendering.

Note: For any geometry object (including instances), make sure that if you have moved the pivot of the object, to apply a Reset XForm or a reset pivot to your objects; otherwise your object's position in the scene will be wrong.

always make sure to reset XForm or to reset the object pivot

Render Setup Window

The main exporter window can be accessed by the menu bar under LuxRender item. Click on setup and the exporter window will pop up as a separate dialog window.

clicking Render Setup will open the LuxRender Parameters window

the LuxRender Parameters window

Dimensions

In the dimension rollout you can set the render resolution of your image. Make sure that you enable “Show safe frames“ in the viewport settings so as to have the exact idea of what will you render.

the Dimensions rollout

LuxRender Engine

If you want to use LuxRender leave it to external, if you want to try SLG change it to SLG. Note: SLG is completely different platform. It doesn't use the same LuxRender materials nor the LuxRender textures. For more information about how to use it wait for the full documentation or ask in the LuxMax forum.

select External to use LuxRender

External Configuration

In the external configuration rollout make sure you select your LuxRender directory so as to be able to launch the renderer after export, and also to be able to use the preview render in the material preview.

the External Engine Configuration window

Render Presets

Here you can select an already configured render preset. Select one from the dropdown list and restart the exporter window to see the settings applied.

the Render Engine Presets window

Renderer-Sampler-Integrator

In these three rollouts you select the core LuxRender settings. Be sure that you read in the wiki or forum what each of the options does. If you just want to test LuxRender and don't want to dive in the settings and magic of these, just select the Metropolis Light Transport recommended preset. But setting your own values is what gives LuxRender its strength. The image below shows the recommended presets settings.

Renderer, Sampler and Integrator panels

Volume Integrator

Multi will be your choice for pretty much all your scenes as it is the most advanced volume integrator.

the Volume Integrator panel


Filter

Mitchell is one of the best filters available though you may want to test some of the other too.

the Filter panel

Accelerator

Here you can select the accelerator for your scene. Qbvh is the standard one though tabreckdtree is also used a lot.

the Accelerator panel

Tonemapping

Here you can select the tonemapper with which the scene starts to render. You can change that anytime during rendering from the LuxRender interface.

the Tonemapping panel

Film

In the Film General group you can change various settings. Halt Spp adds a samples per pixel stop value. For example if set to 100, when the render reaches 100 samples per pixel it will stop. The same way works the Halt time where you can set time in seconds.

The Save internal spinner shows how often the exporter will save the render result in the disk in seconds. The Gui refresh spinner shows how often LuxRender will update the result in its image window. You can change that spinner anytime from the LuxRender interface. In the Output format you select in which format the image will be saved to disk at the interval defined by the save internal value. You can also enable the alpha channel on the output. The Enable Firefly rejection checkbox enables an advanced (and CPU intensive) option which clears your render quicker, but introduces bias in your rendering. Use it in scenes where you get many fireflies (looks like burned white pixels). The default value is 5 though depending on the scene you may use values from 1 to 20. The ColorSpace and Film gamma options can be changed anytime during rendering in LuxRender's interface.

the Film panel

Output

Here you select the folder where the scene files are exported. If you haven't checked the Run Renderer checkbox, you will have to navigate to this folder to open the scene .lxs file with LuxRender so as to start the render process.

the Output panel


Main Buttons

In the Camera dropdown list you can choose which camera to render through if there are multiple cameras on the scene. The refresh button refreshes the list of cameras. When you feel ready just press the Image button and you are ready to Render your Scene. If you have checked the run renderer option, LuxRender will automatically start rendering your scene.

the active camera can be selected in the Main Buttons panel

Tips

Here are some tips in order to save some time or make the LuxMax experience better:

  1. LuxRender is a physical based renderer so scale of your objects matter. Before export make sure that your objects size is correct by taking acount of the system units in the Customize -> Unit setup -> System unit setup. Otherwise if you export for example an interior that is 1 km wide the results will be weird.
  2. Some material properties like roughness or bump need many decimal points in order to achieve the results you want. To make more decimal digits available go to Customize -> Preferences and change the precision to 4 or 5 decimals.
  3. The bump amount spinner is the scale of the bump map and its measured in meters. So setting a bump value of 0.01 scales the bump map to maximum value of 1 cm. The same goes for displacement.
  4. Keep your material values in physical limits. Diffuse color values between 20-200, Specular 0-70, etc. Keep in mind that a white paper has an rgb value of maximum 210,210,210. Putting unrealistic values to rgb like 255,255,255 or 0,0,0 will slow down your render a lot and won't give you realistic results since there aren't any materials in the real world that have these properties.
  5. Always keep in mind that LuxRender is a physically correct unbiased and fully spectral render engine. See it more as a light simulator than a simple render engine so if you have the patience to render and prepare your scene correctly the results will really satisfy you! We really want your feedback on LuxMax exporter in order to make the project as good as possible. So for any questions, suggestions or anything you want about LuxMax feel free to come by in
  6. Particle systems , use the 'Mesher' compound object, make it mesh your particlesystem's particles. It will then 'snapshot' the mesh at current frame and render it as a mesh object. Link to example: [1]

LuxMax Thread

On this wiki you can find many useful tutorials about LuxRender which although they are done with Blender exporter you can easily translate with the help of this documentation and use them with 3ds Max.

Finally if you’ve made something you want to share please post it in the LuxRender Gallery, or ask for our comments and advice in the Work in progress and Finished Work threads.