Freelancer's capabilities of rendering dynamic lights has always been massively lacking. Not only was there a 4-light per object limit, once there were more lights affecting an object, lighting would get bugged quickly, not drawing the closest lights. To counter this major disadvantage in rendering lighting I've been converting Freelancer's forward rendering pipeline to deferred rendering.
In deferred rendering, the geometry is first written to geometry buffers in a single pass. Then, in further passes, the geometry buffers are used to calculate the correct lighting. This allows us to render many lights per object without critically affecting the frame rate. However, there is still a noticeable performance decrease due to the nature of deferred rendering. I wont go into more detail at this point since its very technical. For further info, simply search the internet for deferred rendering.
Besides much improved dynamic lighting, deferred rendering also enables us to implement more next generation effects into the 7 years old Freelancer engine, such as Soft Particles. Soft Particles basically get rid of hard edges where particle effects collide with the environment. On intersection, the depth buffer is queried to make the particle fade out seamlessly, resulting in effects that feel a lot more natural. This is especially useful for smoke and fire effects as well as explosions.
Now to the eye candy. We are still exploring ways to add light sources to the game, however, FriendlyFire has added light sources to many beam/impact effects (and to stations) in order to show off the power of deferred rendering:
Also, here is an effect, made as well by FriendlyFire, to show off Soft Particles:
Please note, this is all still a work-in-progress. However, stay tuned for further updates on our quest to update Freelancer's graphics engine! Also, please vote for us in the MotY Upcoming category!
As always any comments, suggestions or questions are always welcomed!
Please follow us also on: