Quick prototyping and fast iteration times are incredibly important concepts for modern game development. Being able to hot swap an asset while the game is up and running can make the difference between a succesfull or a mediocre game simply because artists and designers can spend more time improving the game rather then waiting for loading/building/conditioning. The same benefit can be extended to code production by allowing to reload the source code while the application is still running and in this tutorial we will see how.

This artcile presents the concept of gamma correction and the reasons behind it from a graphics programmer point of view. In this article I have avoided using the term gamma space or the single word gamma without context as it's often source of confusion, so hopefully it's easier to follow.

Since I have been playing around with the floating point format these days I thought it was a good idea to write everything down for future reference. Floating point numbers are fascinating and provide a very interesting way of representing real numbers. The article provides both theory and practice (with source) for encoding and decoding your own software floating point !

In this article we extend the physically based model we developed previously and we introduce the specular component. Extending the model with specular reflections adds quite a lot to the overall complexity, so I have tried to simplify the presentation focusing simply on Cook-Torrance BRDF using importance sampling. The distribution function used is GGX as it tends to be the one that most artists prefer.

This article is a simple overview of what Physically Based Rendering is. The topic is incredibly broad so I've written an article to capture the core ideas of rendering and shading with physical laws. The plan is to extend this article and possibly write a second part that cover some more complicated BRDF like Cook-Torrance.