Global Illumination and Realistic Rendering

HI everyone! I am making a 3D game from scratch. I have a basic phong lighting model, but I want it to look good. So I try to look for stuff on indirect lighting. After looking at some samples, I really like the realistic looks by ambient occlusion and indirect lighting. I'm planning to switch my lighting model to just add direct light mapping and indirect lighting. However I can't seem to find any easy-to-understand resource on it. The articles I find are very hard to read. I think I decided to use PRT, since it's very versatile. Can anyone help me to give me a good resource for learning it? Thank you a lot!
I have found these articles pretty reasonable to understand PBR: https://learnopengl.com/#!PBR/Theory
Check out also other topics on this site.
Wow this website looks pretty nice, I read it now. Thank you a lot!
That's a decent introduction, but it has a couple mistakes about the history of PBR that are worth mentioning.

"Be based on the microfacet surface model." This is half-true. Surface models should be based on physically realisable microgeometry, but it's also common practice outside of the real-time space to measure the reflectivity of materials and just drop that in, without any theory to explain why it behaves the way it does.

Automotive lacquers often have behaviours (e.g. changing hue depending on the angle) which wouldn't be worth the time to model. A similar technique is used for digital stunt doubles in the visual effects business.

"a physically based BRDF" This is a tautology, and it obviously includes physical microgeometry. What we mean by this is that it satisfies the laws of physics, such as conservation of energy, Helmholtz reciprocity, the Fresnel conditions, and so on.

"the PBR approach as originally explored by Disney"... uh... no. Disney came up with a good artist-friendly BRDF (and we are all in their debt) but they are not pioneers of PBR in any sense. Monster House was using full PBR in production years before Disney. I believe the credit usually goes to Eric Lafortune who came up with what is arguably the first practical algorithm which solved the whole PBR problem. He, of course, stood on the shoulders of giants such as Christophe Schlick.

Edited by Andrew Bromage on