Ben Beilharz
@ben
PhD on physically based (differentiable) rendering and material appearance modeling/perception @tsawallis.bsky.social's Perception Lab. The dream: Producing cinematic shorts with my own renderer and tools.
I've implemented a couple of models I found interesting. The idea would be to have people filing PRs with their experiments to gather a library of neural material approaches in which we can easily benchmark and evaluate different approaches. 4/5
It is not ready yet, but what I have so far: - Common helpers to tabulate and reparameterise BSDF data - Loaders for MERL and RGL's data - Pipelines, losses, and evaluations - A few models - Adapters to use the fitted BSDFs (Mitsuba; coopvec). - RTC-like neural texture compression. 2/5
After the neural material/shading talks at EGSR, I was wondering if there's a need for a package to facilitate this type of research. It would be nice to have a package with reusable building blocks and a set of reimplementations to benchmark against. This is currently what I am working on. 1/5
Just wrapped up implementing ボンド's path space API. Previously, I had a loop that constructed the path incrementally without storing the vertices. Now, the whole path is created at once and then evaluated. While this is still a unidirectional case, it would enable me to implement BDPT next.
Apparently, for smaller scenes, my SAH BVH holds up, but the higher the poly count, the more Embree smashes my prior implementation. Embree: 344.61s user 2.25s system 988% cpu 35.091 total SAH BVH: 436.40s user 2.21s system 928% cpu 47.215 total
embree goes brrrr... (so yes, just refactored my acceleration structure into its own plugin, so I can easily swap out different backends).
Looking at this again: Why am I not using the same colour for the comparison?
One nice thing about having the interactive part of the renderer done is having fun with materials. Implemented a couple of diffuse models recently: Lambert, Oren Nayar, EON, d'Eon 21 fast, d'Eon 21 full model
Made ボンド interactive! Some AOV/debug views included. In the process, I also included OIDN, which runs during "interactive mode" on the beauty plate. In render mode, it runs after the final sample. Convenience: Would be to be able to pause and resume from a checkpoint. 1/3
Went back to C++ and got stuff done on my renderer, which I officially call now: ボンド (because Bond in Spy x Family is the best doggo spy-x-family.fandom.com/wiki/Bond_Fo...). I implemented the preview window, in which we accumulate the samples in a framebuffer and draw for each updated tile. 1/3
Zig Hydra delegate is up and running. To be fair, it looks "better" than the Rust solution, but that is probably me writing non-idiomatic Rust (not that I claim I am proficient in Zig either).
After reading www.janwalter.org/jekyll/rende... I wanted to write a general @openusd.bsky.social Hydra delegate bridge that other languages can bind to. After a couple of weeks, I finally have two tests up and running: Jan Walter's pbrt-rs and a custom Rust render pass. 1/n
Another view (adjusted exposure) Both rendered with 1024 spp and a path length of 8.
More personal renderer tales: Unidirectional path tracing + manifold next event estimation Wanted to see how far I can get with caustics without using Photon mapping. (excuse the sloppy water surface, which is procedural itself)
Offline rendering tales. Just implemented a BVH in my own renderer using the surface area heuristic and iterative traversal. Meanwhile, brute force still hasn't finished (30+ mins).
Been trying to implement OpenPBR (academysoftwarefoundation.github.io/OpenPBR/) in Mitsuba. Here are some preliminary results with the spectral renderer. The geometry is the standard shader ball available in @openusd.bsky.social. It's pretty neat to visualise different light-surface interactions.
G'day! I've just published a new version of mitsuba-scene-description to GitHub and PyPI: github.com/pixelsandpoi... I've changed the generation process, so you no longer need to manually clone and build the API yourself. The Mitsuba plugin API will now be generated during package build. 1/x
Uh-oh: Spiraling down the #nixOS road. After watching this video (www.youtube.com/watch?v=dsl_...), I thought I should also have dinner. Dinner with the penguins and the snowflakes. Let's see how far I am getting with this. Not sure I am ready.
Honestly flabbergasted by all the amazing work presented at #BCon25. It’s nice to see what everyone makes out of Blender and how far contributions can go. Definitely one of the nicest communities to be around. Superb talks, nice location, great people. Can’t wait to see you all next year again 🧡🎉
It's a wrap! Thanks for the ride @blender.org! I had a great time and learned a lot of stuff. Thanks to Omar and Habib for the mentoring, and I will definitely continue to contribute to Blender. :) I'll be around at BlenderCon this week and happy to chat :)
I was today years old to discover that C++ also has: - && `a and b` - || `a or b` - !a `not a`
Not sure how many will affect this, but I assume this will kill a lot of the rebuttals. #neurips
@wetafxofficial.bsky.social and James Cameron bring us the next sequel of #Avatar to the theatres coming this December 19th! Get ready to experience the Ash people.