I haven’t posted anything in a while, but I would like to ensure everyone that I am still hard at work! First I have started to perfect HDR and Bloom and then I have added SSAO. The problem with SSAO is that you need depth information about every pixel. Normally that information is in the z-buffer of the graphics card anyways and you could just access that to do SSAO. But, because of the large distances in Geist3D, the scene has to be rendered into three different frustums, one for near, medium and far distances. After that the information in the z-buffer is useless, because it only contains the distances of the last rendering pass. So, I decided to render the scene into different frame buffers one of which stores the distance. Once I did that, I realized that deferred lighting is a real option for Geist3D as well. Now, deferred lighting is a an amazing new technique where you compute the lighting at the end using only 2D buffers containing color, depth, normals in screen space. Long story short this technique allows you to handles dozens, if not hundreds of different lights in a single scene. Imagine a shuttle with two spot light flying over the dark side of the planet approaching a base with several lights illuminating the surroundings. This is actually possible now! Not to mention the type of lighting that you can create inside a station. However, there is a problem; When rendering into screen buffers there is no hardware support for antialiasing, which is a very big deal! Have a look at the following three pics. The one on the left is rendered into the hardware buffer with AA, the one on the middle comes straight from the framebuffer and then one on the right has some off-the-shelf edge detection blurring applied to the image in the middle (which is quite expensive BTW)



Long story short, both of the ones on the right suck in my mind, but that’s the best that can be done, I think. I have started a thread on gamedev to see if anyone has a solution. I am thinking of going ahead with deferred lighting for now and just forget about AA. But, it will be a noticeable drawback. On the other hand, and unfortunately I have no images to show yet other than the one below (only 2 light sources, but it might as well be a dozen), it will be possible to create some amazing lighting effects. Inside of ships and shuttles, where the distances to triangles is small the lack of AA will not be so visible. On the surface of the planet however it will be almost unbearable.

What do you think; deferred lighting or not? I have not supplied enough visuals in support of deferred lighting yet, but trust me, it could become amazing. The shuttle could have a few of those long lights (whose English name I have yet forgotten again) in that walk-in hangar in the back. Not to mention what could be done on the dark side of the planet. Heck, even laser swords are now an option. Nevertheless, also have a look at the images at the top... The lack of AA is really appearent on the horizon.