LuxRender Progressing Like Lightning…..

I have been doing all this coding for Blender and LuxRender via my Converter, which takes Blender Internal materials and converts them to LuxRender materials suitable for rendering.  The last LuxRender plugin for Blender I installed had an update feature found in the ‘User Preferences’ section, so I went ahead with updating.  To my surprise, there were some noticeable changes.  It is possible I did not have the latest version previously, as I noticed multiple folders in my ‘blenderaddonsluxrender’ folder as well as the main folder in ‘program files’.  I cleaned up my folders and I have the latest, for sure.  Big change – the output material node changed the slot assignment for light emission.  When I tested my Converter, the light nodes did not connect.  I have fixed this already, but wanted to investigate further what has also changed.  There are a number of things:

  • The image texture node has changed to include a LuxCore specific node.  The old node is called a ‘Classic Image Node’
  • The material selections have been rearranged and updated to apply to ‘classic’ vs. ‘luxcore’.
  • There is a scatter material which currently only works with ‘classic’ API.
  • The bump map factor is no longer under ‘Converter’ or ‘Math’ (I can’t remember now), but in the ‘Texture’ menu
  • There is now a Volume NodeTree (this has moved input assignments to Material Output node)

I am going over my code and testing for rendering in LuxCore.  So far, everything seems to work except for some glass materials.  I will update accordingly.  This is where the latest version of Addon can be retrieved: Convertor for Lux 1.5.5

Posted under 3D Modeling

LuxRender Converter Update and Tweaks

Happy Holidays!  I have had some time testing and updating code for the LuxRender Converter.  As is the case with any programming, when you update something, you invariably break something that worked before.  The only way to solve this is just to keep debugging and testing.  I have had great feedback from the BlenderArtists community, and example files were suggested to test the Add-on tool and I am most grateful.  The only way to get code bullet-proof is trial and error and more testing.  I have added more capabilities in the conversion code – namely:

  • Transparent Image Mapping
  • Displays and screens handled specifically
  • Bump mapping based on object size
  • Fixed Unicode issues printing log file only
  • Adjusted absorption depth for skin materials

Tested the conversion tool with some of the most materials and object filled scenes I have dealt with (just parsing the file took 16 minutes) in a model file.  That one was the real brute force test – here, called Piper’s Alley.   I was able to enhance the code to process that large file without issue.  Searching through the Web, there are a number of models to download to test.  Below is an OBJ scene created by ‘3DRegenerator‘, a Marvel character display essentially.  No preparation was done to the file, except for placing figures in scene.  The Lux Converter was run and the result is shown here.  I added a city model in background for visibility through windows.


Before uploading updates and tweaks, I wanted to test again a complete scene exported from DAZ3D.  This one had 3 human figures for testing skin conversion as well as other materials.  This was a complete scene and figures were just thrown together in an environment (I believe one that came with DAZ 4.X).  The goal here was to see if the Converter could catch all the materials both on male and female characters with some materials (like hair style) sharing the same base.  Most importantly for test was to see if it could handle transparency maps for hair and eyelashes, etc.  Those materials never import into Blender or Vue properly.  I think the McTeleBlender script(s) do that transparency conversion, but haven’t tried in years.  This Conversion Tool is Luxrender specific and assumes that the materials in Blender Internal before conversion are what is intended.  Here is the test result:


The eyelashes and hair converted perfectly (as well as they can be for that type of hair simulation).  I will continue to test OBJ, 3DS, DAE, and other model formats that get imported into Blender for misfires, but I am quite happy with the output at this time.  It is waaaay better than building materials in LuxBlend individually!!

The latest Add-on can be found here:   LuxRender Converter for Blender (version 1.5.4)


Posted under 3D Modeling

LuxRender Converter for Blender

I finally had some time over the Thanksgiving holiday to finish up coding my ‘Holy Grail’ for Blender.  I may have mentioned previously that I am a big fan of LuxRender.  Unbiased rendering is the way to go, in my thinking.  But one thing that has been a big time-sucker is prepping the scenes and objects for rendering in LuxRender.  You see, none of the materials from Blender Internal or Cycles are portable over to LuxRender.  I would have these tremendously detailed scenes that come from assets I purchased and were more often-than-not Wavefront OBJ based.  As-is, Blender imports over OBJ files just fine, and they can render in Blender Internal renderer most of the time.  But switch over to LuxRender and you lose the material settings completely.  I have solved that.  It is based on the framework that Silvio Falcinelli created in his Blender Cycles Converter.  If you like Cycles, I highly recommend that Addon.


Wireframe view of scene

Here I have a very complicated and detailed scene from a DAZ3D asset I purchased.  It has 144 objects.  Imagine trying to manually apply materials and textures to that!  With my Addon, the Blender Internal materials are converted in about 3 seconds.  Now you can spend more time tweaking materials and getting your render engine settings just right!


You can see the differences with the original Blender Renders and then the following LuxRender outputs below the first two.

blender_texture    blender_render

Image on left above is a Blender Render Texture View through 3D Viewport.  The unaltered Blender scene imported from an OBJ file seems intact with all textures and materials matching up.  The image on the right above is the same scene, only it is rendered with Blender Internal engine.  There may be some setting I am missing with Blender Internal, but even though the textures are in the slots, they are not rendering.  Interestingly, the bump map images are.  Anyway, that is the render without performing any adjustments – pretty disappointing.  Blender Internal can get good renders.  In fact, if tweaked and adjusted, it can yield good results.  I am just saying that this scene “as-is” does not yield realistic results.  Then I run my Addon to convert to LuxRender, and then little effort is needed to get a realistic render. I stopped the close-up render below at one hour as it did not have a ‘light portal’ setup.  These images were not doctored or post-processed either, just straight out of the Luxrender engine.

lux_onehour_render    lux_2hour_closer_render

Those images directly above are not doctored or tweaked before rendering.  The one on the left was stopped after 2 hours and the one on the right (or below) after one hour.  It is actually exciting to take a scene created from OBJ data that you have never messed with the material settings, and render it out for the first time with LuxRender.  It is like peering into a new world.  This can be a time-saver in your workflow, so you can spend more time on adjusting certain material settings.  Good example would be the candles above.  the translucent depth and absorption color could be tweaked so you get a good wax effect.


addon_buttonThe interface is fairly simple.  You unselect all the objects and click the ‘Convert’ button shown on left.  If you are in Cycles engine, it should kick you back to Blender Render before conversion.

The tool (Addon) will convert standard objects and their materials. On top of that it will also convert the following:

  • Bump Map Textures
  • Light Bulbs and Flames as light emitters
  • Mirrors
  • All glass and image mapped glass
  • Metals
  • Skin (by body parts)

The ability to create the material overrides above are based on the material name.  For instance, if the material has the word ‘metal’ in the material name, the material will be converted to standard default metal in the LuxRender Material Nodes.  In the case of skin, if the material has the word ‘head’ or ‘face’, it will be converted into a rudimentary Glossy Translucent material for taking on the skin image map.  All materials have a glossy component except Area Light materials, which are Matte Translucent.  They are either Glossy Translucent, Glossy, or Metal.  Most things in real life have a reflection component in some form, it depends how much that component is before we see a shine.  I pondered whether I would do Cloth, but if an object has an image map and a bump map, it may be overkill to have it on a cloth material base.

lux_tech_consoleOn the left here, to test how it would convert a lightbulb into light, I import an OBJ file, which was a sci-fi tech console.  I added a plane for the floor and a plane where a light would be above.  I faced the normal towards the object, name the material in ‘Blender Render’ “lightbulb” and then push the ‘convert’ button.  The image is exactly how it rendered, except I gave the light a greenish hue.  I love not having to do tedious manual material and texture application to get a scene ready to render.


After a little cleanup of the code, I may get it onto the Blender Addon page.  In the meantime, I have the Beta here Lux Material Converter.  To use in Blender, just place zip file in a known place, and open up ‘User Preferences’.  Then choose ‘Addons’ menu item to add the file.  At bottom, you choose ‘Install from File’ button and find the zip file.  It will add the list of Addons, which you select to activate.  The tool only shows when you have selected the ‘Materials’ icon from the main properties window.  Here is a Demo Video on its use Demo of Lux Converter .  This is an MP4 file, viewable in Quicktime or VLC.



Posted under 3D Modeling