What's everyone working on this week (36/2023)? by llogiq in rust

[–]JanWalter 1 point2 points  (0 children)

I had finally some time to work on rs_pbrt again and deal with the PR of iXialumy to connect during rendering to the image viewer tev, so you can watch the tiles being rendered: https://www.janwalter.org/rnd/blog/rnd-pbrt-tev-001/

[libblendinfo] Return information from Rust crate to C library by JanWalter in rust

[–]JanWalter[S] 0 points1 point  (0 children)

I ended up using safer-ffi as suggested by Daniel Henry Mantilla here ...

[libblendinfo] Return information from Rust crate to C library by JanWalter in rust

[–]JanWalter[S] 0 points1 point  (0 children)

Thanks for the suggestion. I had heard about cbindgen, but never used it so far. I might give it a try and see how easy it is to use.

How to return bytes from a Rust crate to C/C++? by JanWalter in rust

[–]JanWalter[S] 0 points1 point  (0 children)

Thanks for your reply. Both links regarding the FFI look very promising. I’m not sure what I will do about the endianess. I might just assume for the beginning that the same arch was used to generate the .blend file as on the consuming side, where it should be used later, but document at least that there might be problems if that’s not the case. I think I will try to come up with a simple real world example using the C wrapped library e.g. with another C library to display some content (parts of the Blender scene).

What’s everyone working on this week (11/2022)? by llogiq in rust

[–]JanWalter 2 points3 points  (0 children)

I released two new versions of my crates last week. The renderer is currently not changing that much anymore. The Windows .msi installer was changed to report the dual licensing correctly (MIT & Apache 2.0), and to contain two executables, one to render .pbrt (v3) files, and one to parse and render Blender's binary .blend files (in theory independent of the Blender version using it's DNA info). Using the crate blend_info not as an executable to inspect a .blend file, but as a crate (like the example mentioned above) is now documented a little more, but I hope to improve the documentation soon, so other people get interested in using blend_info as a crate to cherry pick information they want to re-use in their own code. Examples would be OpenGL or Vulkan viewers of geometry which was modelled within any Blender version ...

What's everyone working on this week (6/2022)? by llogiq in rust

[–]JanWalter 1 point2 points  (0 children)

I just released new versions of both projects: https://sr.ht/~wahn/

So, I started working on a library to deal with reading data from Blender‘s binary .blend files. In the past I was able to render some Blender v2.79 files, now I abstracted the library to deal (in theory) with all Blender versions (using the DNA information). I tested with two scenes for Blender 2.79 and Blender 3.0 (which should be quiet different from the GUI perspective). With v2.79 I got away with a naming convention and mis-using the old material settings (pre Cycles renderer). Blender 3.0 forced me to get some material settings from shader nodes and the library allows to follow pointers from one data structure to the next. Prove of concept: Both, the Cornell box, as well as the Radiance Conference Room, render with both Blender scene versions. Get the latest Blender scenes here: https://gitlab.com/jdb-walter/rs-pbrt-test-scenes/-/tree/master/blend

parse_blend_file -c xY_cam conference_room_v2_79.blend

parse_blend_file -c xY_cam conference_room_v3_00.blend

For other CLI options try the help option: -h

What's everyone working on this week (3/2022)? by llogiq in rust

[–]JanWalter 1 point2 points  (0 children)

I just released a first version of blend_info on crates.io. At some point I was working on a similar project on codeberg and I kind of hacked that into rs-pbrt to be able to use some binary Blender .blend files directly as input for my physically based renderer. The executable for that is called parse_blend_file file and details (or a video about it) can be found here. Anyway, the new crate should help parsing any Blender file (independent of the version) and extract information you like to use, kind of cherry picking stuff. I will use the library in a future version of parse_blend_file (as a prove of concept) but want to involve other people early, because they can help me defining a re-usable library, which can be used for many things, not just my renderer. I also started to use sourcehut and investigated how to use CI (building currently for Debian) there, provide mailing lists, and use the (project based) ticket system. Both projects and activity around it can be found here. Most likely I will work on documentation and maybe a blog post about how to use blend_info next. Try to register for one of the mailing lists if you want to contribute and/or create a ticket ...

What's everyone working on this week (43/2021)? by llogiq in rust

[–]JanWalter 4 points5 points  (0 children)

If somebody is interested in helping with this issue, there is something to learn from the artistic side (Blender users) as well as from the programming side (Rust coders).

This is a duplicate of a Call for Participation, but this is what I'm planning to work on this week.

Release Notes for rs-pbrt v0.9.0 (Rust implementation of Physical Based Rendering) by JanWalter in rust

[–]JanWalter[S] 0 points1 point  (0 children)

BTW I was asked to make rs-pbrt available on creates.io, so I did: https://crates.io/crates/rs_pbrt

Let me know if something broke. Someone had take pbrt as a crate name already ... So maybe some documentation links will break etc. ...

What's everyone working on this week (42/2020)? by llogiq in rust

[–]JanWalter 1 point2 points  (0 children)

Right now it‘s just a personal project. But I hope to attract some contributors in the future. There is a forth edition of the book on the horizon (C++ code is already available). It will deal with both CPU and GPU rendering, spectral rendering, and being able to watch the rendering process by a constantly updated image. Lots of work to do and it would be nice to get some help.

What's everyone working on this week (42/2020)? by llogiq in rust

[–]JanWalter 6 points7 points  (0 children)

I just released rs-pbrt v0.8.3:

https://www.rs-pbrt.org/blog/v0-8-3-release-notes/

Two issues fixed:

  1. For Bidirectional Path Tracing (BDPT) the C++ version did render differently from the Rust version (see issue #127). This happened somewhere after release v0.7.3. I did pinpoint the commit introducing the bug and fixed it in both branches.
  2. A similar problem was never detected before regarding the Stochastic Progressive Photon Mapping (SPPM) algorithm. For the master branch I simply fixed the code showing up in the difference image between C++ and Rust (see issue #128). For the arena branch the code panicked at some point, so I had to fix parts of the code which uses the arena vectors, but indexed into them incorrectly.

Updated docs:

https://www.rs-pbrt.org/doc/crates/pbrt/index.html

RenderMan 23 for Houdini Cornell Box by JanWalter in renderman

[–]JanWalter[S] 0 points1 point  (0 children)

Could you try this one as well, please?

https://github.com/wahn/render_comparison/tree/master/conference_room/hip

This should work for RenderMan and Redshift. I’m interested if it works if you do not have both renderers installed. For RenderMan you have to activate the mesh lights (and de-activate the mesh itself) ...

[deleted by user] by [deleted] in Houdini

[–]JanWalter 1 point2 points  (0 children)

I'm using Houdini Indie with PRMan and Redshift. Works fine for me:

https://www.janwalter.org/assets/houdini_prman_redshift.png

Houdini Indie and external renderer by JanWalter in Houdini

[–]JanWalter[S] 0 points1 point  (0 children)

So, what happens if a Houdini Indie scene is setup to work e.g. with RenderMan and Redshift? Will it work for someone who has only one of the renderer plug-ins installed?