4
\$\begingroup\$

Is it possible to get a 1:1 mapping of texels to pixels on a multisampled target in DX 11 with interpolation? It seems to me that the texture coordinate used in the shader is always one of the sub-pixels, not the center of the post-MS-processed pixel on my NVIDIA driver. With the reference renderer, however, the texture is correctly read from the center of the texels, which leads me to assume that my texture and point coordinates are correct.

This is, of course, only a problem when I enable some form of continuous interpolation. Point sampling easily circumvents the problem, so this is more out of curiosity.

I was just wondering if this is implementation-defined or possibly a hardware/driver bug? The issue makes it somewhat harder to implement correct GUI rendering, because you can no longer turn off multisampling via the rasterizer state in DX11 feature levels, and this small offset leads to bleeding-in of the neighboring elements in my texture atlas.

\$\endgroup\$
1
  • 2
    \$\begingroup\$ The default behavior for MSAA should be to evaluate the shader at the pixel center. Double-check that you haven't turned on the "centroid" mode, and that you're not turning on per-sample shading? Also, if a driver bug is suspected, are you running the latest driver? \$\endgroup\$ Commented Sep 24, 2013 at 18:30

0

You must log in to answer this question.

Browse other questions tagged .