Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
The white furnace test (lousodrome.net)
238 points by MaximilianEmel on Oct 22, 2023 | hide | past | favorite | 18 comments


I recently implemented a PBR renderer by following the learnopengl PBR tutorial.

It doesn't pass the white furnace test.

That made me realize I didn't understand much of the math I implemented. Random multiplications by pi and 2 as the author stated didn't work out.


Most BRDFs that I have seen get darker as they get rougher like the article mentions. There are some that take into account the interreflections of the theoretical facets that make the distribution of normals that become the BRDF (mentioned in the link also), and they do better but I'm not sure even they pass this test straight up.

Most of what is actually being used out there loses energy. Sometimes people have used a lookup table on top of the BRDF to compensate.


The multi scattering BRDF/BSDFs do pass the furnace tests, as well as the newer hair BSDFs. I checked :)


So weird to see this top of HN! Also there are actually two furnace tests, the other one is with 0.5 emission and 0.5 albedo, also should produce 1.0 +/- noise pixels.

Greetz to all path tracing people <3


I know the absolute minimum about ray tracing but could still follow the article. Kudos to the author for such clear, interesting writing.


Long ago, in https://graphics.stanford.edu/~boulos/papers/brdftog.pdf we tried to trade off energy conservation and data reproduction at the cost of reciprocity.

In the end, nobody actually cared about automatically fitting material data from BRDFs or if they do, they actually prefer a symmetric and conserving-enough BSDF, which is what most future research improved. In particular, breaking symmetry means making bidirectional path tracing and other techniques kinda weird.


Hey look, it's Bouliiii from the ompf forums (RIP) :D Greetz, you might remember me as lycium :)


Why “furnace” in the name of the test? I get the overall concept, but the name seems fairly arbitrary. Is it, or is there an anchor?


This is based on classic black body radiation experiments which use ovens/kilns/furnace.

Here the concept is similar and the point is that the object is enclosed in a cavity that has an uniform emission spectrum, in this case white instead of black body.


The inside of a hot furnace glows with the uniform illumination simulated by the test.


The test is about being in a uniformly white-lit environment, like a very hot furnace. It's just a mnemonic.


Funny enough this Youtube video presented itself to my feed the other day that goes over this very topic in the planned Blender 4.0 release. They have a new Multiscatter GGX function for BSDF. I think this goes a lot more in-depth and presents a lot of examples.

https://www.youtube.com/watch?v=v6qXbV_Q7z4


Back in my day, a teapot in orbit around the sun was the best we had and we liked it


What’s the embedded ShaderToy supposed to look like? When I press play and wait, nothing happens for over a minute.

This post would benefit greatly from a couple screenshots of failed tests.


it starts grey, then you see the outline of a sphere, background fades in, a red, blue, and white sphere appear around the central grey/white sphere, the scene fades back to grey, then the red and blue sphere come back and you can see the reflections or whatever on the central sphere, but you can't tell it's a sphere since it's "faded in to the background".


I believe it requires webgl. Can you confirm whether your browser has webgl enabled?


Also tried it out in both up-to-date Chrome and Safari on my up-to-date MacBook, which can play everything on https://webglsamples.org/ just fine, but on this page, nothing happens.


Regular Chrome and Safari on a regular iPhone




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: