Pbrt render exporter update

I have spent some time the last 4 days, wrapping my head around what the next step should be. I’ve been wanting for a long time to move it from python to c++, but I did not know how. So I decided this weekend to spend time figuring that out. The result now is that I have PBRT API available inside a python module, this again means that I can go to the next step – deeper and better integration of PBRT in blender, without implementing it directly in the blender source.

My focus will be that the next weeks, but I will fix important \ breaking issues in the current exporter if needed, but I want to focus all my time on getting the new addon up and running as soon as possible.

I have attached a simple image, proof of concept. In this example I load up PBRT in python, through c++, then I use that to parse in and render a .pbrt file, so it’s doing the same as the pbrt.exe but from python, this was the first step to solve.

My render exporter \ integration project

The current renderer I’m writing a exporter for
(and later a proper integration) into blender is Pbrt.

The reason why I chose this renderer is because I have the book and I really like the renderer, and having a proper exporter \ integration of this renderer in blender is something a lot of people might find useful, especially if they have the book and want to really test the renderer.

And as you might know – many of the render engines on the market today started as Pbrt source code.

As you can see on my site I used to work with 3dsmax, but I’ve always had my eye on Blender,
and recent events with 3dsmax\Autodesk made me switch over full time to Blender.
I have been developing Luxmax (3dsmax integration of LuxRender for 3dsmax) for many years, but now I feel
that blender is where the future is, it is the best open source 3d application that exists today, and it will continue to be that,
so investing time into it is not something I’ll regret in any way.
And the best part of ditching 3dsmax is that you can get rid of windows at the same time, I now exclusively use Debian.

One other important reason why I do this is that I want to get more into the render engines as well, I want to be able to add to it, implement new things, learn new stuff, and that’s why I choose pbrt , the book really completes it.

Luxrender already has a great plugin for blender, and later I will most likely join the development on that,
but for now (since I’m busy with work and family life) I need a project I can do in my own tempo, and I need to learn all the nuts and bolts in blender.
Switching from 16 years of 3dsmax to Blender was surprisingly easy, and developing for it is not hard either, I’m used to maxscript\c++ so I feel
right at home with Python and c\c++ in Blender.

I have not decided yet if this will be a open source script, fully free, or if  you should be able to buy it instead (or maybe try the ‘patreon‘ thing).
I will decide on that in a bit once it’s more feature complete, currently it’s in its infancy.

For now I have a simple test render with a basic shader: