informa
2 MIN READ
News

Feature: 'Resolve Your Resolves'

In this in-depth technical article, AMD developer relations' Holger Gruen & Jon Story examine anti-aliasing in games, explaining how you can reduce 'jaggies' in your PC tit
PC games commonly use Multi-Sample Anti-Aliasing (MSAA) to achieve higher quality rendering and reduce unsightly "jaggies" -- but the increasingly complex post-processing that goes with it can ultimately cause framerate drops. Gruen and Holger describe how to minimize the resolve count in the rendering pipeline without compromising the quality of post-processing effects or deferred shading techniques. Some resolves are useful, the authors explain: "However there are two reasons why a post-processing technique may need to be performed in MSAA mode: 1. If a post-processing technique enables subsample based depth testing, it can result in an update to some of the subsamples of a pixel. 2. In a similar way, if alpha blending is enabled, then subsample data is preserved through the blend operation. In these two cases it may indeed make sense to resolve the render target for further passes. However these two examples are the exception and it should be noted that for full screen passes that do not enable depth testing or alpha blending, there is precious little point in using MSAA mode." Others can be outright harmful, as in this example: "It is common for deferred rendering techniques to store information such as depth, position, normal, velocity and material ID to an intermediate render target. If this is carried out in MSAA mode, then the data would need to be resolved before being put to use later in the frame. The problem here is that the fixed function resolve operation will simply perform an average of the subsamples. This is very unlikely to yield the developer's intended result, and will most probably result in graphical artifacts. Let us consider the case where material IDs are to be resolved. I think we would all have to agree that averaging material IDs is never going to make any sense, and that performing such an operation would, in a worst case scenario, produce invalid IDs." So how to resolve these resolves? The full feature goes in depth on the different kinds of techniques and their effects (no registration required, please feel free to link to this feature from other websites).

Latest Jobs

Double Fine Productions

Hybrid, San Francisco CA, USA
10.25.23
Senior Systems Programmer

Purdue University

West Lafayette, IN, USA
11.14.23
Clinical Assistant Professor in Game Development

Digital Extremes

Remote
11.13.23
Lead AI Programmer
More Jobs   

CONNECT WITH US

Explore the
Advertise with
Follow us

Game Developer Job Board

Game Developer

@gamedevdotcom

Explore the

Game Developer Job Board

Browse open positions across the game industry or recruit new talent for your studio

Browse
Advertise with

Game Developer

Engage game professionals and drive sales using an array of Game Developer media solutions to meet your objectives.

Learn More
Follow us

@gamedevdotcom

Follow us @gamedevdotcom to stay up-to-date with the latest news & insider information about events & more