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.

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.

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: http://mattebb.com/3delightblender/documentation/

Added option to either both export RIB and render interactively, or just export the RIB (better for render farms)

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: render_3delight_0.7.0.zip

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.

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:

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!

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.

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 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.

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.

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.