OGMSAA

ZeDuS

Newcomer
Hi Everyone!

I'm a bit puzzled, maybe someone here can help me.

I am using DirectX11 which allows really easy access to the "raw" samples data, and then create custom resolves myself.

The only missing part is that I do not manage to trigger the usage of a very simple ordered-grid pattern.

I am using the following very nice tool to visualize the sampling pattern:
http://mynameismjp.files.wordpress.com/2012/10/msaafilter.zip
(Thanks MJP for this great tool! :smile: )

I can see quite a few sparse patterns, but not a single ordered-grid one.

My main interest is ordered-grid for x4 and for x8.

I changed his source to also include:
D3D11_STANDARD_MULTISAMPLE_PATTERN
and
D3D11_CENTER_MULTISAMPLE_PATTERN

And while the "D3D11_CENTER_MULTISAMPLE_PATTERN" sounded good,
it seems to put all of the samples at the center at the same location (??)

Am I missing something obvious here?
I would really appreciate assistance :???:

ps - I'm fully aware of the cons of using ordered-grid as your sampling pattern,
please do not offer to use something else ;)
 
I don't think you can. AMD hardware in theory has the capability to use arbitrary sample points, but it's not exposed through Direct3D. There might be an OpenGL extension to do it.
 
DirectX 11 doesn't support custom MSAA sampling patterns. The purpose of the "center" pattern is to disable MSAA when rendering to MSAA render target. Custom sampling patterns are definitely very helpful, and allow creation of some crazy MSAA exploiting techniques. I really hope DirectX 12 allows fully custom MSAA patterns and also access to coverage only sampling points (marketing name for this is AMD EQAA and NVIDIA CSAA).
 
Thanks a lot for your replies!

AMD HW spec does seem to have relevant registers for defining custom pattern sample locations, I was just really hoping I won't have to that low level to achieve this...

Thanks again :smile:
 
I don't think you can. AMD hardware in theory has the capability to use arbitrary sample points, but it's not exposed through Direct3D. There might be an OpenGL extension to do it.
GL_AMD_sample_positions?
FWIW intel hw could also do this (though I've no idea if it's exposed). I actually thought everybody could do it (amd had programmable sample patterns since forever, that is r300), but it looks like I was wrong...
 
Back
Top