[Addon] LuxBlend, LuxRender exporter

LuxBlend is an integration addon for LuxRender, a GPL physically based renderer. It allows LuxRender to be plugged into the render API, allowing direct rendering within Blender and use of native LuxRender materials (including use of the node editor). The addon has been around for quite awhile (it dates back to mid-2009 at least), but some reason none of us have ever bothered to create a BA thread for it until now.

You can download it with the LuxRender install packages here: http://www.luxrender.net/en_GB/standalone

Or, alternately, you can grab a weekly build: http://www.luxrender.net/forum/viewforum.php?f=30

Installation instructions can be found here: http://www.luxrender.net/wiki/LuxBlend_2.5_installation_instructions

Direct source code can be found here: https://bitbucket.org/luxrender/luxblend25

Current Blender version compatibility (updated Feb 21st 2014):

The stable 1.3.1 version of LuxBlend supports Blender 2.68-2.70
The current LuxBlend trunk (included with LuxRender weeklies) supports Blender 2.68+

The LuxBlend user manual can be found here: http://www.luxrender.net/wiki/LuxBlend25_Manual


The plan is to use this thread as a central thread for updates (as a dev-blog of sorts) and for any support questions and feature requests you might have using LuxRender with Blender.

Hey thanks! Nice to finally have a dedicated thread for LuxBlend and Lux updates.

Thanks J the Ninja,
Just a question, as Cycle was developped with third party rendering in mind (it uses an API as I understand it) Would it be possible to have Lux get the same level of integration (live update of added objects, scaling, editing, etc… SLG only recognises translation and rotation throught the port system if I’m right) ? It’s not a feature request, really just a question about feasability in theory and if there are any plan for it ?

I think so. This isn’t so much my department (i deal mostly with the LuxBlend UI due to being more of an artist than a coder), but as far as I know this just requires support for this kind of thing on Lux’s end. I recall reading somewhere in the bowels of the Blender wikis that there already is support for using rendered draw mode with external engines.

Atm, Lux’s live mode is only supported with SLG, and it doesn’t work though the viewport. That could change someday, but Lux needs better live mode work before it’s really worth trying to integrate it into the viewport like that.

There are two larger hurdles here. One is that LuxRender does not support dynamic updates of the scene. It has to be re-loaded entirely. However SLG supports dynamic scene updates, so SLG should be able to handle this.

The second hurdle is how to draw the rendered view in the Blender viewport. AFAIK Cycles uses some internal methods for this, however there should be a “fast” python way. However it requires some low-level CPython juggling to get working (using buffer obejcts), and we have no CPython experts and so far little time to try to implement this yet.

So, in theory it should be doable, and it’s certainly something I’d like to see happen. However it’s not around the corner by any means at this point in time.

Thank you both for the quick answer :slight_smile:
Your renderer is already really impressive and the only one using my ATI card. Those export and reloading phases on heavy scene make rendering videos slower than CPU on Cycles. Looking forward the day where it’s not required anymore :slight_smile:

Dev update:

Jeanphi has added a new volume shader, “heterogeneous”. It’s like the current homogeneous volume, but with bonus ray-marching support. Today he added a few textures to duplicate the effect of the old half-broken PBRT volumes. I’ve gotten started a bit on supporting things in Blender, here’s the “exponential” texture:

And the node setup:

I also pushed support for the cloud texture. A bit of clarification on this, you’ll find two different “cloud texture” nodes. One is in the “textures” list, this is a port of Blender’s regular “clouds” texture. If you go into the volumes list, you’ll find one called “cloud volume texture”. This one is the volume-control texture. I haven’t had much chance to play with it, but it should let you do the stuff seen in this thread, only with the new volumes: http://www.luxrender.net/forum/viewtopic.php?f=14&t=924&p=7904

There’s a third texture type he added called “density grid” that should eventually let us feed the smoke sim into this thing, but that will take a bit more work on Luxblend’s side.

To clarify some history, Lux had some old volume primitives in inherited from PBRT. They don’t work with GPU rendering or the bidir integrator though. Over the past few years jeanphi has been slowly replacing them with a participating-media shader setup. It first showed up in 0.7 with the “clear” volume. 0.8 added “homogeneous” which added actual scattering. Heterogeneous and these textures finish off the set. The new stuff works with bidir and the hybrid renderer (not sure about SLG). They also support multiple-scattering and per-volume marching step length.

tl:dr: ground mist and volume clouds available now, a voxel-data node allowing better smoke sim support probably coming soon.

glad to hear it;) I see lux as the future of rendering. You guys sit at the mountain top and all other renderers fake what you do to be ‘faster’. One day when hardware shows up that can make all that moot, you’ll be the king of the hill:)

Good to se a thread for LuxBlend! You are doing an awesome job!
LuxBlend has been a source of inspiration for me and a great way of learning Blender/Python coding.

Keep it up. :slight_smile:

me too. :wink: Don’t tell anyone. :RocknRoll::rolleyes:

Dev update:

node_dev branch is now merged to trunk, use the soon-available 2.68rc1 (or svn/buildbot/graphicall) with latest luxblend. (note that the current weekly builds are from before the merge, and are still compatible with 2.67. They will not work with 2.68rc1 though, you need to update to latest luxblend for that).

Also, since LordCrc apparently figured out my problems with registration functions bumping into each other while implementing addon preferences, I’ve gone ahead and added node-categories support. On the user side, the main difference is that you can now add Lux nodes from the T panel in the node editor. (you can also use frames in it now). I also took the time to rearrange the add menus a little to be more consistent with Cycles/compositor. More info here: http://www.luxrender.net/forum/viewtopic.php?f=11&t=7931&start=90#p98453

Dev update, lens flare edition:

LordCrc has polished up the new glare filter that was donated to us. So now in addition to being much prettier and more flexible than the old one, it’s now also much, much faster.

I also took to some LuxBlend bug fixing this week. Things fixed include the addon not unregistering properly (because I need to pay better attention when adding features, apparently). I also fixed an issue with camera response files not being handled properly when using an external CRF file instead of a preset. Also, Blender’s stucci, wood, and marble textures are now accessible from the node editor. And finally, we at last got to adding LuxBlend support for the instanced/motion blurred lights that Jeanphi added to Lux earlier this year:

I’ve updated the OS X weekly with all the new toys. The Windows/Linux ones are a few days behind, so they might be missing some of the LuxBlend stuff until they are updated. (linux one atm might be from before glare filter fixes too?)

awesome job, ty !

I’ve created a new wiki page detailing the new stuff in Lux 1.3: http://www.luxrender.net/wiki/New_in_1.3

If anybody wants to add something, feel free. You can sign into the Lux wiki with the same account as the Lux forums.
Or, if you want to just see what’s new, also feel free to stop by and take a look. It’s a work in progress atm, it’s missing a good bit of copy and doesn’t have any images yet.

@J you guys are doing great work on a much loved engine! Thanks for keeping everyone posted!

Reminder! Lux is not just a brute-force unbiased renderer! It also has a spectral photon mapping mode, and the distributed path integrator (similar to the non-progressive integrator in Cycles)


I’ve took a moment this week mop up their UIs and documentation a bit. Take them for a spin! Save some render time!

Ty J :smiley:


First draft of smoke sim support for the new volume shaders! It’s currently pretty rudimentary (I just took neo2068’s code for the old volume objects and twisted it to output to the new texture instead), but more toys will come soon!

Man I’m looking very much forward to getting a integrated lux/blender experience!