Physically Based Shading in 3Delight 11

December 4th, 2013 . 4 comments

Although the 3Delight/blender addon is mostly abandoned due to lack of time to keep it maintained, I want to at least bring it up to date with the latest 3Delight release, which has had a lot of good updates in the pathtracing/physically based rendering department.

3Delight’s approach to the problem has been to extend some of the commonly used shadeops, seemingly with the intention of making it simple to convert over old shaders, or create simple shaders from scratch. It definitely has advantages in terms of the amount of work required to get something set up, but imo it’s also a bit messy and confusing how it all fits together, especially if you’re familiar with a more common and organised physically based shading infrastructure as in pbrt.

» Read the rest of this entry «

3Delight/Blender 0.7.5

April 25th, 2012 . 9 comments

It’s been a while, but the 3Delight/blender exporter has been getting progressively more out of date, with changes in Blender’s python API leaving version 0.7.0 broken in current releases. Blender 2.63 will also include the new bmesh system, which is incompatible with old versions. I’ve updated the addon to fix these issues, and add a few more little things. This version now requires Blender 2.63 – until it’s released, you can use a pre-release version. As always, I’ve tried to test it on the main OSes, but if you find any issues, please let me know.

Update: There was a last minute Blender python API change which renders v0.7.5 incompatible with the Blender 2.63 release. The addon has been fixed and updated to v0.7.6.

Download the addon here:

Changes include:

  • Enabled editable output paths, including RIB file export, shadow maps, and point clouds. These path properties support using environment variables, or other blender data variables that are built in to the exporter. Environment variables can be read from outside blender, or default environment variables can be edited from within the Environment Variables panel in Render Properties.
    More info at:
  • Added option to either both export RIB and render interactively, or just export the RIB (better for render farms)
  • Added choose of Display Drivers – currently accepted are ‘auto’ (integrated in blender image editor), idisplay, and tiff.
  • Added access to Hider settings. Using idisplay with the raytrace hider allows progressive rendering.

3Delight/Blender 0.7.0

September 15th, 2011 . 23 comments

After fixing some cross-platform issues that people were having with the last few versions, here’s a new release of 3Delight/Blender. As well as the fixes, I’ve included some new stuff that’s been on the backburner for a while – a new point cloud global illumination method. When enabled, the addon will automatically generate a point cloud, and then use it in the render for indirect lighting and environment lighting.

It’s just doing one bounce of indirect lighting, in the future it should be reasonably easy to add more bounces via photon mapping in the point cloud generation stage. Eventually I’d like to make this a bit more advanced, with a more modern design for the lighting/shading pipeline and more control over baking pre-passes, but for now (especially since I’m quite short on time ) I’d rather get it out and working in a simple, automatic way so people can use it.

I’ve tested this on my mac, and in both Linux and Windows XP VMs, but as always, if you have any problems on your system please let me know. Download the new addon here:

3Delight/Blender 0.6.2

August 9th, 2011 . 42 comments

Everyone else releases software at siggraph, so why not join in the fun. In ever-diminishing free time, I’ve made some small updates to 3Delight/blender.

There’s a few bug fixes since the last version (thanks Janne Heikkinen for reporting) and using some new features in Blender 2.58’s python API (thanks Campbell Barton), it’s now been possible to improve the shader UI significantly, removing the necessity to click ‘Initialise Shader Parameters’ each time, and now dynamically presenting all shaders in your shader path in a list to select from. Scanning the shaders is done in a background thread and cached – it’s only regenerated when a folder in the shader path is modified, and no more frequently than every 2 seconds.

Download the new addon here:

3Delight/Blender 0.6

July 5th, 2011 . 7 comments

After continuous small incremental improvements, it’s time to release a new version of the 3Delight/Blender render engine exporter. This version now requires blender 2.58 and adds a few new features, continuing to round out support for getting geometry data out of Blender. The main additions include:

  • Exporting geometry to RIB archives, either manually (File → Export → RIB Archive) or at render time, automatically. Animated RIB archive file sequences can be exported to disk too, and rendered appropriately.
  • Rendering blender objects as procedural geometry (Object Properties → Renderman Geometry panel). There’s basic support for DynamicLoad DSOs, RunProgram procedurals, Archives and DelayedReadArchives.
  • Instancing blender objects on particles – full deformation and transformation motion blur is supported
  • Exporting primitive variables from custom mesh data (such as vertex groups, vertex colors, and uv sets), with some convenient options for default UV sets and colors. Particles can also have primitive variables too, exporting per-point data such as particle age, velocity, lifetime, etc.
  • Exporting blender fluid with motion blur
  • Exporting blender curve objects as either renderman curve primitives (no animation supported yet due to limitations in the blender API), or as tessellated polygon mesh or subdivision mesh objects (animation supported).

Download the new addon here:

As always, feedback and questions are welcome in the comments here.

3Delight/Blender 0.5.4

May 5th, 2011 . 14 comments

I’ve now updated the 3Delight/Blender exporter to be compatible with Blender 2.57. Hopefully now there’s a ‘stable’ release, the Python API will fluctuate less and I can spend whatever spare time I have on developing this further, rather than fixing it to make it work! 🙂

The bpy API has changed recently to be stricter about where and when it will allow modifying scene data. This has had the effect of preventing some things happening as automatically as I would like, and I’ve had to make some things a bit more manual. Now, before using shaders for the first time, you need to click a button ‘Initialise Shader Parameters’ will will read the data from the shader file on disk and generate the UI inside Blender for it. This only needs to be done once on blender startup, and once when you use a new shader. It will automatically initialise all shaders correctly at render time, so it should still work rendering from the command line. I’d like this to happen all automatically behind the scenes but until there are new features added to Blender to support this, it’ll have to do.

As well as fixes, there are couple of new features. It now supports motion blurred dynamic hair (strands), deep shadow maps, and motion blurred shadows/ray tracing via the samplemotion attribute. The last two were contributed by Magnus Loefgren – thanks!

Get the new package here:

edit 10/05/2011: Released a 0.5.4b version, with path handling fixes for Windows – download above

3Delight/Blender 0.5.2

March 3rd, 2011 . 21 comments

I’ve been very short on time lately and haven’t had much of a chance to look into fixing the 3Delight/Blender addon to work with recent Blender Python API changes. Jeff Doyle (nfz) however, has generously gone through the code and updated it to work with a current Blender SVN version (as of today, r35311). I haven’t been able to spend a huge amount of time testing it, but on a brief inspection it seems to be working well.

Since you’ve been waiting for a new working version, I’ll release Jeff’s changes now, and hopefully spend a bit more time soon with some other fixes.

Get the new package here:

Recent 3Delight exporter errors

February 22nd, 2011 . 6 comments

Hi, many people have been having trouble getting the 3Delight exporter to work in some Blender versions recently – unfortunately it’s a case of bad timing. There have been several changes lately in Blender’s Python API, each of which have broken existing scripts. I released the addon soon after one of these changes, (happened around rev. 34500 or so?), and that was fine for about a week, but then there were more API changes in Blender around rev. 34850 which have broken the addon again. I’ve just been away having a week off, so I haven’t had time to investigate what’s needed to update the addon to work again with current SVN builds.

So, until I can find the time to fix it, this addon is only working in a small range of SVN revisions,between about rev. 34500 – 34850.

* If your error looks like this: unable to get srna from class ‘atmosphereShaders’ then your build of blender is too new

* If your error looks like this: AttributeError: ‘mathutils.Matrix’ object has no attribute ‘to_translation’then your build of blender is too old.

If anyone would like to help updating the script, that would be very much appreciated, otherwise you’ll just have to bear with me for a little while until I can fix what’s been broken. Thanks!

PS: I’ve disabled comments on the main 3Delight/Blender page – it was getting a bit messy and difficult to track which comment belongs to which version. I’ve moved all the existing comments to the posts for the different exporter version releases, so if you have questions or comments for any of those releases, please post them in there.

3Delight/Blender 0.5.1

February 9th, 2011 . 43 comments

I’ve posted an update to the 3Delight/Blender exporter, hopefully fixing some problems that people have run into after trying the first released version. I’d only been developing this on my own system, so I guess it’s expected that for people on different platforms, with different configurations, it may not behave the same way that I assume it will! Thanks to everyone for the feedback letting me know about this.

I’ve fixed two main issues, one was with the way it interpreted and exported file paths on Windows. Many thanks to @vitos1k for spending several hours helping to debug this with me. Another issue is that on Mac OS X, the 3Delight installation only sets up the environment variables it needs, for use in the Terminal. This meant that launching Blender from an icon in the dock wouldn’t detect the correct 3Delight paths.

To fix this, there are two additional options – one method allows you to define the path to the 3Delight installation folder from within Blender (Render Properties -> Search Paths panel -> 3Delight Path), or alternatively you can force it to always use a specified folder by specifying the 3delight_env.txt file in the addon folder. However if you have environment variables properly set up, they will still take precedence. This is explained in more detail in the installation.txt file inside the addon package.

You can download the new package here:

3Delight/Blender 0.5

February 7th, 2011 . 72 comments

I’ve released a first version of the external render engine exporter I’ve been working on, connecting Blender to 3Delight. It’s still not as complete as I’d like it to be, but I might be quite busy soon, so might as well get the code out there. It’s been several months now slowly massaging it into place, including some practical projects done with it in the meantime. Over the next few days I hope to continue putting up some videos explaining how it currently works. There’s still plenty more things that I’d like to implement and improve, but will probably just take a bit of time.

If you’e going to be testing or using this, I’d recommend familiarising yourself with renderman and the reyes pipeline, to understand more about what’s going on. I’d like to hear feedback and bugs, though I may not have a lot of time to work on them or provide support.

More info and download on its page here:

3delight/blender geometry

February 7th, 2011 . 0 comments

3delight/blender overview

February 7th, 2011 . 0 comments

Where Am I?

You are currently browsing the 3delight / Blender category at Matt Ebb.