
AnisFX is a little rendering engine wich implements deferred lighting and EdgeAntiAliasing filter by post processing , it handles rendering and animation of several model files and provide some scripting mechanism.
This project is a 2 years spare time investment ( ~= 2 hours per days ) and was done in order to get a Rendering programmer job into the videogame industry.More details can be found on this old website.
Lighting:
Only point lights are modelled.
The renderer bandwith is highly optimized , the G-Buffer holds Z Camera space in a R32F format , Normals in a R16G16F , albedo and specular mask in a R8G8B8A8 render target.
Point light shadows:
Point light can cast shadows with a variance shadow mapping algorithm implemented as a cube shadowmap and resolved in a fullscreen render target for use in the lighting phase (post G-Buffer).
Materials:
Only one material type is supported , normally a deferred renderer should support multiple lighting models and material by encoding a material ID.
Models and animation:
The engine read proprietary mesh format exported from 3DSMax for static geometry and computes its tangent , binormals , normals informations for phong tangent space bump mapping.The engine read and render including animations : Quake 2 format (MD2 ) , Quake 3 format (MD3).The engine also render Doom3 format (MD5).
Scripting:
Scripting is interfaced with LUA , it permitt to dynamically instanciate lights and meshes.
Screenshot from MD5 demo:
