

Pragmatic physically based rendering: Intro - mariuz
http://marcinignac.com/blog/pragmatic-pbr-intro/

======
highCs
For those like me who want to learn more in 10 minutes, this link appears to
be decent: [https://www.marmoset.co/toolbag/learn/pbr-
theory](https://www.marmoset.co/toolbag/learn/pbr-theory)

~~~
corysama
Marmoset's articles are a great intro. Probably the most accessible I've
found.

If anyone wants to read a lot more, here's a collection of possibly a majority
of the non-academic material to be found online:
[https://interplayoflight.wordpress.com/2013/12/30/readings-o...](https://interplayoflight.wordpress.com/2013/12/30/readings-
on-physically-based-rendering/)

------
falcolas
If you're interested in this topic, you may want to check out the "Physically
Based Rendering" book[1]. It's basically a college text book (and priced
accordingly) but it walks through the steps to build a fully functional (and
fairly performant) ray tracing engine in C++. As a bonus, the code is BSD
licensed, and up on github[2].

It's been great to go through it so far; I'm re-writing the renderer in a
different language to help with the learning, I can't recommend it enough.

[1][http://www.amazon.com/Physically-Based-Rendering-Second-
Impl...](http://www.amazon.com/Physically-Based-Rendering-Second-
Implementation/dp/0123750792/) [2]
[https://github.com/mmp/pbrt-v2](https://github.com/mmp/pbrt-v2)

------
bmir-alum-007
IIRC from reimplenting 1/2 of the OpenGL pipeline in C for a CS course, the
early Phong and Gouraud shadings inevitably looked either plastic, matte or
dull. Hair and skin were hard but have been mostly solved fairly okay at great
computational expense. And there's lots of hacks for things like oranges (bump
mapping -> surface normal tweaks) and then they're shader languages. Each
surface material (wood (especially chatoyance), textured marble, dull cloth,
broken cement, butterfly wings (structural color/schemochromes), conchoidal
broken glass, irregular dirt, dead leaves, pearlescent automotive paint, oil
slicks (thin-film interference), on and on) needs slightly and/or completely
different hacks to pull off the "Hollywood" real-time smoke-and-mirrors, least
CPU/GPU/memory intensive fakery to render a believable scene whereas actual
Hollywood can throw massive resources offline, at their leisure to render a
scene frame-by-frame.

Metal is extremely difficult to model because light travels oddly along
crystalline and micro-fissure structures.

------
RoboTeddy
John Carmack's "The Physics of Light and Rendering" goes over physically-based
rendering and lots more:
[https://www.youtube.com/watch?v=MG4QuTe8aUw](https://www.youtube.com/watch?v=MG4QuTe8aUw)

------
andrewmu
This is really nice. I like the lighting model but also the attention to
detail, e.g. scratches on the Chrome material. One thing, that might be
specific to my renderer implementation - the specular reflection seems to be
point sampled. Is this to do with a float texture limitation?

