Bananaft

@Bananaft@mastodon.gamedev.place
304 Followers
133 Following
30 Posts
Tech artist, game designer, dad.
You cannot get physically-based rendering right without understanding radiometry. My new blog post explains it all, relying on familiar concepts from rendering algorithms as much as possible.
Part 2 will come next week.
https://momentsingraphics.de/Radiometry1Backwards.html
Radiometry, part 1: I got it backwards

Here's a blog post about that Kyrgyzstan trip. Mostly just photos! https://aras-p.info/blog/2024/07/16/Kyrgyzstan-Trip-2024/
Kyrgyzstan Trip 2024 · Aras' website

Aras' website
found a nice demo that uses 3d curl to advect smoke https://www.shadertoy.com/view/ddGGzd

Introducing 🌈🙈 Tony McMapface 🌈🙈: a cool-headed display transform ("tone mapper")

Tony maps HDR Rec.709 to LDR in a (subjectively) natural way, without messing too much with contrast or look.

Comes as a LUT + HLSL for sampling it.

https://github.com/h3r2tic/tony-mc-mapface

GitHub - h3r2tic/tony-mc-mapface: A cool-headed display transform

A cool-headed display transform. Contribute to h3r2tic/tony-mc-mapface development by creating an account on GitHub.

GitHub
hello
×
You cannot get physically-based rendering right without understanding radiometry. My new blog post explains it all, relying on familiar concepts from rendering algorithms as much as possible.
Part 2 will come next week.
https://momentsingraphics.de/Radiometry1Backwards.html
@MomentsInGraphics I really wish optics books started with radiance, it's much closer to the basics of geometrical optics we learn in high school, you can say "it's like a single light ray" and you'd be mostly correct.
@MomentsInGraphics This looks like a really useful framing, thank you. Will read this in more detail later.

@MomentsInGraphics solid angle my beloved.

also it sometimes seems that more than half of tech-literate humanity doesn't know that optics and radiative transfer has conservation laws akin to the third law of thermodynamics

@MomentsInGraphics I really had to dig deep into such concepts for my bachelor thesis. Thanks to Eric Veach's PhD thesis and Jim Arvo's work.

@MomentsInGraphics Finished reading the first part now. Very neat explanation and I'll sure be referencing this in the future. Thanks!

The only thing that confused me was why the absolute value was used instead of max(0,x) in the irradiance definition.

@pekkavaa Glad you liked it.
Regarding irradiance, you may very well want to use max(0,n⋅ω) instead of |n⋅ω|. Especially when computing diffuse shading, that is the right thing to do. But then again, if you have a closed mesh, radiance below the surface should be zero anyway.
For the definition of radiant flux, it makes more sense to work with |n⋅ω| because I define the flux as a property of the surface A, without saying which side is outside.
Maybe I'll clarify that alongside some update.