blender addon for pbrt

439 views
Skip to first unread message

joey keys

unread,
Oct 11, 2020, 9:37:52 AM10/11/20
to pbrt
hey guys,
I've been working on a blender addon for pbrt and here's the link:

Download the btop.zip file from release page and install it into blender, setup preferences properly and then you can render your blender scene with pbrt.

Currently only v3 is well supported. There is an option for v4 executable but still have some bugs now.

Hope you guys can enjoy it.

ganesh...@gmail.com

unread,
Oct 13, 2020, 9:57:00 AM10/13/20
to pbrt
Hi Joey,

This is great! Does it also work with scenes containing Cycles shaders?

Thanks,
Ganesh

joey keys

unread,
Oct 13, 2020, 9:51:32 PM10/13/20
to pbrt
Hi Ganesh,

Currently it only supports the materials provided by pbrt, you have to delete the cycles shaders and use the pbrt ones.
There're two options to provide support for cycles scenes, one is to provide a utility to convert the cycles shaders to pbrt ones, the other is to provide a mapping and do the convertion on the fly while rendering. Personally I prefer the latter one.
This feature is on the plan list. There's no one-to-one mapping between the two renderer's shaders, and pbrt don't allow custom OSL shaders, this task could be hard so its priority is kinda low for me.

Let me know if you have any advices, Thanks.

Joey

Jiayin Cao

unread,
Dec 1, 2020, 1:17:16 AM12/1/20
to pbrt
Hi

My two cents, a better and more robust way to do this is probably to have proper support of the shader concept.
Here is a viable option
  • Integrate OSL in PBRT, this is more or less a few weeks' work.
  • Write the OSL shaders for each Cycles node, if Blender hasn't done so already. I suspect it already does it.
  • Have your plugin generate the shader layers for each shader node and feed them to PBRT with OSL integrated.
It is a bit tricky to support recursive material node though but doable.

Thanks
Jiayin

Jan Walter

unread,
Dec 2, 2020, 5:56:17 AM12/2/20
to pb...@googlegroups.com
Hi,

my two cents are:

Invest some time to write a Hydra Render Delegate for PBRT.
I already started providing a skeleton for such an USD plugin and
gave the sources to interested people, e.g. someone @ appleseed.
I think Pixar shipped an example for Embree, but that was using
an older version. Anyway, USD seems to be the future. A couple
of renderers, PRMan of course, but also Arnold (and others) can
render USD files (e.g. exported from Blender) directly. There is a
way to overwrite the materials (there are renderer agnostic
materials to start with) and make them renderer specific by using
a second USD file (which loads the geometry, and overwrites the
materials).

Houdini is leading the way of future renderer integrations. There the
USD workflow (using Solaris and Karma) just means that the Hydra
Render Delegate will work automatically from within Houdini. Will
take a while until others will follow, but I expect the Blender guys to
pick up the idea pretty fast ...

Cheers,

Jan

On 12/1/20, Jiayin Cao <caojia...@gmail.com> wrote:
> Hi
>
> My two cents, a better and more robust way to do this is probably to have
> proper support of the shader concept.
> Here is a viable option
>
> - Integrate OSL in PBRT, this is more or less a few weeks' work.
> - Write the OSL shaders for each Cycles node, if Blender hasn't done so
> already. I suspect it already does it.
> - Have your plugin generate the shader layers for each shader node and
> --
> You received this message because you are subscribed to the Google Groups
> "pbrt" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to pbrt+uns...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/pbrt/27d894cd-0ba5-47a5-be00-7d09d710f8f6n%40googlegroups.com.
>

joey keys

unread,
Dec 8, 2020, 9:42:49 PM12/8/20
to pbrt
Hi Jan and Jiayin,

Your ideas are great, definitely will do on my own pbrt branch, actually I started this project to help myself to finish the assignments from the book and since v4 is already out, guess I'll continue my work on the new version.
I would like to make this project a basic blender addon for standard pbrt version. And guys who wanna do something cool atop of pbrt can have some basic tools if he/she works with blender.

Cheers,
Joey

Roy Jeongyong Shin

unread,
Oct 1, 2021, 4:13:20 AM10/1/21
to pbrt
Hi Joey,

I think you've done a great job.
However, I have tried to rent after installing the PBRT addon you developed with many versions of bender(8.80, 2.81..2.93..)
Rendering image is not running.
In the cache folder.The pbrt file is not generated either. I did it in the order below. Is there a problem?

1. Install btop.zip using addon install.
2. Enter the PBRT Location up to the .exe file name as below.
        E:\simulation\3d_scene\pbrt_scene\pbrt.exe
3. Select the Render Engine as "PBRT_Render" in the Render Tap. There's a pbrt option in lowercase, too. Both are not working.
4. Render -> Render Image 

jdb.w...@gmail.com

unread,
Oct 28, 2021, 4:24:51 AM10/28/21
to pbrt
btop_001.png
I had to fiddle around a while as well to make even the default scene render. I think you should create your own `tmp` folder somewhere, e.g. where you cloned the `btop` repository.
Then use the `Scripting` tab to see potential error messages (see screenshot). After I saw that message I did change the material to use a PBRT Matte, and that made it work ...
I hope that helps,
Jan
Reply all
Reply to author
Forward
0 new messages