Is it correct to use just the Fresnel (from the light’s point of view, hence L•N, not V•N) or should it include the distribution/geometric terms as well? I tend to think these are typically ignored for performance, but for the moment I am more interested in accuracy.
As far as I understand it the diffuse term should indeed take surface roughness into account in some way. Applying the 1.0 - F trick is to account for the trade-off between diffuse and specular at glancing viewing angles, but is not a completely accurate approach.
Do you know of any books on real-time raytracing that helpful?
When we're talking about OpenGL we're in the realm of rasterization, not ray tracing. Certain aspects of ray tracing are starting to become common in traditional rasterization-based renderers (screen-space reflections are a good example), but even though actual real-time ray tracers do exist they're generally still quite slow and not viable (as far as I know) for applications such as games.
This book is a very good read for anyone interested in designing and programming physically based rendering systems. It will walk you through the theory behind various reflectance models, radiometry, camera systems, various light sources, scattering and light transport in general.
It is not however geared towards real-time implementations, but actually walks you through the implementation of a ray tracing system. If you are looking for a book which provides you with OpenGL sample code or with everything explained in relation to OpenGL this is not the right book for you.
If you want to get a deep understanding of the theory behind physically based rendering and if you feel like you'd be able to distill and optimize a working real-time implementation out of this material then by all means go for it!
This game programming stuff is way easier than anything else.
Ahh yes, all of us engineers are just a bunch of untalented nobodies who just sit around picking their noses all day? Surely anyone can do that kind of job, I mean it's all just writing stupid text files right?
All those AAA studios having hundreds of these guys working for years on a project and even crunching for weeks or months at a time is all just a massive conspiracy to make you believe that programming games is actually difficult! Wake up sheeple!