Tuesday, 16 March 2010

Tech Report: Anti-Aliasing In God Of War 3

Looking at any of the full resolution screenshots from the final release code of God Or War 3, you could be forgiven for thinking that what you are seeing is nothing more than supersampled bullshots, shots created for the purpose of making the game look good when blown up several times its original size for magazine printing. However you’d be very wrong indeed, because although some have speculated that these latest direct-feed grabs of GoW3 are downsampled images like most of the screens released for the demo, we at IQGamer can confirm that they in fact showcase the game’s unique Anti-Aliasing method in action.

That method in question is MLAA, or Morphological Anti-Aliasing, another form of edge smoothing done using the SPUs on the PS3 rather than the RSX GPU. We only heard about the game’s somewhat exciting AA solution a couple of weeks ago, after it was revealed in an online interview with one of the developers working on the title. It seems that whilst the original plan was to use the usual 2xMSAA method of jaggies reduction – and that was present in the recent PSN demo – that all changed at some point this year, in which a programmer at Sony’s Santa Monica Studio found a way of performing a much better method of AA on the CELL, whilst in turn saving the use of precious GPU and memory cycles in the process.


Just take a look at the screenshot above. The AA is absolutely amazing, far better than anything the 4xMSAA 360’s GPU can manage, and in some places matching perhaps what you expect from a high end PC gaming rig performing 16xMSAA. Either way, it is the best example of Anti-Aliasing on any console game to date, bar none.

In addition, the developers themselves at Sony’s Santa Monica Studio stated that they managed to increase both performance and quality of the AA used, along with other effects in the game, by offloading tasks normally done on the GPU to the SPUs on CELL.

“AA on the cpu is MLAA Morphological Antialising. We saved 5-6 miliseconds by moving it off the cpu's. Many props to our coder Cedric for making this happen and it looks way better!”

Of course the benefits of having better AA isn’t just dealing with jaggies reduction, but also reducing aliasing caused by certain shaders, such as specular aliasing for reflections and transparencies, whilst also eliminating texture shimmering caused by a lack of AA, bringing a stability and smoothness to the image allowing the art design to really shine. Its importance is usually only ever compromised due to the lack of available memory and bandwidth available on both systems. On 360 it’s having to fit the final framebuffer into the 10MB EDRAM, while on PS3 it’s dealing with just a lack of available bandwidth altogether. The use of MLAA can alleviate some of these issues providing a more even split of resources, which can then be used to improve other graphical aspects of the game.


The above screenshot demonstrates how well this use of MLAA works on gameplay scenarios. Notice that every single pixel in the shot is covered by the AA, without any extensive blurring of the detailed textures, even smoothing off edges that are small and far off into the distance. Everything remains clean and sharp, minus the parts of the scene which feature the engine's depth-of-field effect, used only on specific areas of the scene. You can see this happening on the botton left of the image, in which the scene is slightly blurred, whilst on the right, just above Kratos, all details are sharp and clear as day, even in the distance.

Another recent release, Metro 2033, due out this Friday, also uses a custom form of AA done specifically on the CPU, but this time on Xbox 360. It’s called AAA, Analytical Anti-Aliasing, and works by finding all the pixel edges, rendering samples of them in a higher resolution, before then downsampling those samples for use in the final 720p framebuffer. Effectively the only performance hit you get, is a slight one caused by having to render a small amount of pixels in a higher resolution, and the end result is another AA solution which allows for the same effect as using 16xMSAA. However the developers still managed to save 11MB of memory by using this technique instead of regular MSAA, which was their original choice, memory used for other visual effects taking up precious space in the framebuffer.

So God Of War 3’s impressive use of AA is just one of an increasing amount of games looking for a more flexible AA solution than the out of the box MSAA fix found on both consoles GPUs. By exploring these other areas, and by doing things differently they can ultimately drive forward better image quality, whilst focusing more on things such as art design, which has always been more important that raw technical prowess.

Lighting is another area in which GoW3 proves this notion of thinking.

“We built our engine around being able to use up to 20 dynamic lights per game object. The light can be big or small, it doesn't matter. In the end, I believe we support up to 50 dynamic lights per game object. We are not using a differed lighting scheme. Our lead programmer Vassily came up with this amazing system during pre-production, us artists love it!!! We can place lights in Maya and have them update in realtime in the game on the PS3, its like being able to paint with lights.”


Again, this is Santa Monica Studio thinking up a solution that isn’t right out of the box, but is technically at the forefront whilst also being very much in consideration with just what their artists were looking for. It’s exactly this kind of attitude and understanding that is driving forward the use of alternative AA solutions, at the same time providing increased graphical fidelity, whilst saving on performance, and making development easier for future titles. This is especially important with regards to memory related issues, which generally keep coming up in every console generation, and in which working smarter, not harder is really the only way in pushing forward console performance years after launch.

From a developers point of view, now has never been a more exicting time to be involved in console gaming, in which both tools and innovation are coming together setting the new standard of videogames production. Anti-Aliasing is of course just one part of the picture, but in GoW3's case, it could be its defining one.

IQGamer will be performing our in-depth technical analysis on God Of War 3 this weekend just after the game’s release. Be sure you check it out, as it will be filled with interesting technological reveals about some of the development process behind the game, and the ever more innovative steps that developers are taking to push the visual envelope forward.

3 comments:

  1. What ever happened to the tech analysis?

    ReplyDelete
  2. So much uncritical praise based on developer-published pictures. All for an old hat known on PC as FXAA, perhaps the most straightforward form of MLAA class post processing filters. From the performance standpoint, it's a great accomplishment.

    However it cannot be considered so uncritically. When you look at developer screenshots, first, you're not seeing it in motion, and this is where MLAA class solutions fail. Also you get pictures selected which show the best possible case and not the worst possible case, which is pretty bad - jumpy lines, crawling highlights, loss of detail.

    MSAA does not really have a worst possible case, it always looks very consistent.

    ReplyDelete