this name ? == [http://en.wikipedia.org/wiki/Rembrandt Rembrandt] was a dutch painter living in 17th century, famous as one of the master of [http://en.wikipedia.org/wiki/Chiaroscuro chiaroscuro ].
This project is about changing the way FlightGear renders lights, shadows and shades, and aims at making Rembrandt painting style possible in FG.
== What is it ==
The idea driving the project is to implement [http://en.wikipedia.org/wiki/Deferred_shading deferred rendering] inside FlightGear.
From the beginning FlightGear had a forward renderer that tries to render all properties of an object in one pass (shading, lighting, fog, ...), making difficult to render more sophisticated shading (see the 'Uber-shader') because one
have to take into account all aspect of the [http://www.wired.com/magazine/2010/07/st_equation_3danimation/ rendering equation].
[[Image:project_rembrandt_1.png|thumb|300px|Main view with the content of buffers displayed at corners]]
On the contrary, deferred rendering is about separating operations in simplified stages and
collect the intermediary results in hidden buffers that can be used by the next stage.
;First stage is the Geometry Stage :
: we render all the scene into 4 textures, using multi render
target to do it in one pass: one for the depth buffer, one for the normals (lower left of the image), one for the diffuse colors (lower right) and one for the specular colors (upper right).
;Next stage is the Shadow Stage :
;Then comes the Lighting Stage, with several substages :
and cloud pass: the sky and the clouds are first drawn using classical method.:*Ambient pass: the diffuse buffer is modulated with the ambient color of the scene and is drawn as a screen-aligned textured quad:*Sunlight pass: a second screen aligned quad is drawn and a shader computes the view position of every pixel to compute its diffuse and specular color, using the normal stored in the first stage. The resulting color is blended with the previous pass.:*Fog pass: a new screen aligned quad is draw and the position of the pixel is computed to evaluate the amount of fog the pixel has. The forg color is blended with the result of the previous stage.