One more disadvantage is that, due to separating the lighting stage from the geometric stage, hardware anti-aliasing does not produce correct results anymore since interpolated subsamples would result in nonsensical position, normal, and tangent attributes. One of the usual techniques to overcome this limitation is using edge detection on the final image and then applying blur over the edges, however recently more advanced post-process edge-smoothing techniques have been developed, such as MLAA (used in "Killzone 3" and "Dragon Age II", among others), FXAA (used in "Crysis 2", "FEAR 3", "Duke Nukem Forever"), SRAA, DLAA (used in ""), and post MSAA (used in "Crysis 2" as default anti-aliasing solution). Although it is not an edge-smoothing technique, temporal anti-aliasing (used in "Halo Reach and Unreal Engine") can also help give edges a smoother appearance. DirectX 10 introduced features allowing shaders to access individual samples in multisampled render targets (and depth buffers in version 10.1), giving users of this API access to hardware anti-aliasing in deferred shading. These features also allow them to correctly apply HDR luminance mapping to anti-aliased edges, where in earlier versions of the API any benefit of anti-aliasing may have been lost.