HLSL - How can I set sampler Min/Mag/Mip filters to disable all filtering/anti-aliasing?

Posted by RJFalconer on Stack Overflow See other posts from Stack Overflow or by RJFalconer
Published on 2010-04-23T15:59:56Z Indexed on 2010/04/23 16:03 UTC
Read the original article Hit count: 287

Filed under:
|
|

I have a tex2D sampler I want to only return precisely those colours that are present on my texture.

In the event of a texel overlapping multiple colours, I want it to pick one and have the whole texel be that colour.

I think to do this I want to disable mipmapping, or at least trilinear filtering of mips.

sampler2D gColourmapSampler : register(s0) = sampler_state {
    Texture = <gColourmapTexture>; //Defined above
    MinFilter = None; //Controls sampling. None, Linear, or Point.
    MagFilter = None; //Controls sampling. None, Linear, or Point.
    MipFilter = None; //Controls how the mips are generated. None, Linear, or Point.
    //...
};

My problem is I don't really understand Min/Mag/Mip filtering, so am not sure what combination I need to set these in, or if this is even what I am after.


MSDN has this to say;

D3DSAMP_MAGFILTER: Magnification filter of type D3DTEXTUREFILTERTYPE

D3DSAMP_MINFILTER: Minification filter of type D3DTEXTUREFILTERTYPE.

D3DSAMP_MIPFILTER: Mipmap filter to use during minification. See D3DTEXTUREFILTERTYPE.

D3DTEXF_NONE: When used with D3DSAMP_MIPFILTER, disables mipmapping.

© Stack Overflow or respective owner

Related posts about hlsl

Related posts about direct3d9