Luxmax integrated - LuxRender Wiki
Luxrender GPL Physically Based Renderer

Luxmax integrated

Personal tools

From LuxRender Wiki

Jump to: navigation, search

LuxMax is the 3dsMax internal plug-in to render directly inside 3dsmax using LuxCore. The plugin(s) is written in c++. LuxMax is still under development and needs more work to be a complete renderer, in short time it will support all standard lights, shaders, cameras and more. Off course there will be special LuxMax lights, shaders with configurations.

The purpose of this wiki page is to show how to compile source code and most of the renderer's features and how they work. LuxMax is under development so we highly recommended everyone to be part of our community and report your suggestions/issues by following the guidelines in the documentation here.

Contents

Installing or upgrading

Use LuxMax installer for fast and clean installation, that give you ability of repair, remove or update the plug-in .

Download the installer from: https://bitbucket.org/luxrender/luxmax/downloads

Report bugs & feature requests

The best way to report bugs is to add them to the bugtracker Create a account there, then add the bug to the 'LuxMax' category.

We spend a lot of time writing this software, so it helps us a lot if you take some minutes and register there and report it - instead of just posting in the forum.

If you absolutely refuse to do so - then post in the LuxMax Subforum

Supported features

Materials

Material previews in the material editor.

LRI Matte

This is a basic shader, that supports:

  • Diffuse texture
  • Bumpmap
  • Basic color

LRI Glow

This is a shader that lets you use mesh as light. Currently it supports:

  • Color

LRI Template

This is a template material that we use for development, this is where we first implement new features, and then move them over to other shaders.

Architectural material

We try to support the standard material 'Architectural material'. This is so that users of architectural application can more easily render their scenes without converting the shaders. This is work in progress, but currently it supports:

Template settings:

  • Glass
  • Metal brushed
  • Mirror

More features are added as we progress.

Fallback

When a unsupported material type is chosen we render it as a standard grey material.

Unsupported materials

All unsupported shaders are simply rendered as a matte grey material.

Lights

Luxmax translates these standard lights into luxrender lighs:

  • Omni
  • Spot Light
  • Directional Light
  • Sky Light

Not all parameters for these are translated yet, but color and intensity is supported. The rest is work in progress - and later we will create fully custom lights that has all the luxrender light parameters in their GUI.

Unsupported lights

When there is no light in the scene we create a skylight automatically and use that.

Cameras

We support the standard 'target camera' and 'physical target camera. We will add support for 'viewport' type rendering soon. Also a custom Luxrender camera with all the luxrender camera settings in its GUI will be created as soon as we have time.



Compilation guide

Info

This guide shows you how to compile from source. It does not include OpenCL in this guide for now (for ease of use..). But later on I will add this to the documentation as well.

Also some of the paths are currently 'hard coded' into the project. We are in the process of fixing this to make it easier to customize.

Tools needed

You need to have Git and Hg (mercurial) installed. I personally use 'Babun' command line tool on windows, this has all the tools needed for cloning the repositories.

You can download and install it from here: http://babun.github.io/

Also install 3dsmax 2016 to it's default directory, and install the SDK (separate installer in the 3dsmax install dvd\iso).

Visual studio 2013 is needed (Free version should work also). When all this has been installed we can get started on the process of getting and compile from source.

Fix 3dsmax sdk template setting

Locate the file: "3dsmax.general.project.settings.props" in 3dsmax SDK directory. Open it in a text editor, and comment the line that says:

<PlatformToolset>v110</PlatformToolset>

like this:

<!--<PlatformToolset>v110</PlatformToolset>-->

This will fix the issue with 3dsmax template projects not being 'upgrade' to VS2013.. The template setting above will override the project, so that is why we comment it out.

Build luxcore

To make the guide easier I'll replicate my own setup.

Create a folder named 'development' at 'c:\development\'
Create a folder named 'lux' in c:\development\ folder.

Start command line tool, go into 'c:\development\lux\' folder and clone these repositories with the command provided: (With babun installed you can right-click while in the c:\development\lux\ folder, and select 'open babun here'..) that will open a shell in that directory.

Clone the repositories with these commands: (It takes a while so go get a espresso).

hg clone https://bitbucket.org/luxrender/lux
hg clone https://bitbucket.org/luxrender/luxrays
hg clone https://bitbucket.org/luxrender/windows
git clone https://bitbucket.org/luxrender/windows_deps

That will then create these folder in the development\lux folder.

Run the build_cmake.bat in the VS 2013 commandline tools, see if it builds. You find the command line tool in the startmenu, under 'VS2012 x64 Cross Tools Command Prompt', the confusing part here is the 2012 in the name, since we're running VS 2013.

Start it, and go into this directory:

'C:\development\lux\windows\'

start the bat file:

'cmake-build-x64.bat /no-ocl'

The build might fail, if so then try and build luxrays after you run the build_cmake.bat: (You have to run the build_cmake.bat first, because this will generate the luxrays.sln file)

C:\development\lux\windows\Build_CMake\LuxRays\LuxRays.sln

Open the solution,right click the projects in solution explorer and only enable build for these projects:

  • luxcore
  • luxrays
  • smallluxgpu

(you have to do this for both 'release' and 'debug' mode.

set the noopencl preprocessor on each of those projects: (Right click the projects, select 'properties',then go to 'c\c++ -> preprocessor' then append this text:

LUXRAYS_DISABLE_OPENCL;

build debug\release through visual studio.

This will then create the libs needed for luxmax to compile.

Clone and build luxmax

Go into your c:\development\ folder and clone luxmax: hg clone https://bitbucket.org/luxrender/luxmax

Open the LuxMaxInternal.sln in visualstudio 2013, set it to 'release x64'.

If you set up the luxrender\luxcore source as I said in the guide above, and got it to compile, then it should work fine.

The compilation process places the plugins in the 3dsmax\plugins directory. So you might have to run visual studio as administrator to allow it to get access to that folder.