Sign in to follow this  
mmurphy

How should my texture sampler be for rendering a bitmap font/sprite?

Recommended Posts

mmurphy    106
I have a texture and was curious as to what the texture sampler should be for sampling the sprite texture? I am using DirectX11, though if you know what it should be for DX9/10, I believe it is transferable.

I tried
AddressU = D3D11_TEXTURE_ADDRESS_WRAP
AddressV = D3D11_TEXTURE_ADDRESS_WRAP
AddressW = D3D11_TEXTURE_ADDRESS_WRAP
ComparisonFunc = D3D11_COMPARISON_NEVER
Filter = D3D11_FILTER_MIN_MAG_MIP_POINT
MaxAnisotropy = 1;
MaxLOD = D3D11_FLOAT32_MAX;
MinLOD = 0;
MipLODBias = 0;

Although when rendering, there appeared to be artifacts and it did not seem as clear as it should be.

Share this post


Link to post
Share on other sites
Tordin    625
This depends!

the thing you mostly want to change is probably the filter, and that depends on how you
want the texture to look.

you should read some articels on what this things do and what effect they make.

Share this post


Link to post
Share on other sites
MJP    19791
What you have should be fine, provided that you render the font so that it's the same size on screen as it is in the texture. Otherwise it will look very bad when it's scaled. If you do want to scale it you can enable LINEAR filtering, but it still probably won't look that great.

Share this post


Link to post
Share on other sites
mmurphy    106
I have been rendering with those exact settings, with no scaling, and getting some artifacts/ not the same quality as my image. Is there a higher quality settings than what I showed before?

Share this post


Link to post
Share on other sites
mmurphy    106
I took a look at my texture in PIX that I render and it is being loaded just fine, is there anything else off hand that might be causing there to be artifacts? (I understand that there may be dozens of minor things probably)

Share this post


Link to post
Share on other sites
mmurphy    106
This is an example of what the artifcats are. The top text with a light blue background you can see artifacts (for example, the A and C). The bottom text with the black background is the origin image.

[img]http://i50.tinypic.com/2d003h4.png[/img]

Share this post


Link to post
Share on other sites
mmurphy    106
I do. The states I have set, as in in PIX are the following

Alpha To Coverage Enable FALSE
Independent Blend Enable FALSE
Render Target 0
Blend Enable TRUE

Blend Source D3D11_BLEND_SRC_ALPHA

Blend Destination D3D11_BLEND_INV_SRC_ALPHA
Blend Op D3D11_BLEND_OP_ADD
Alpha Blend Source D3D11_BLEND_ONE
Alpha Blend Dest D3D11_BLEND_ONE
Alpha Blend Op D3D11_BLEND_OP_ADD

Render Target Write Mask 00001111

Depth Enable FALSE
\Depth Function D3D11_COMPARISON_LESS
Depth Write Mask D3D11_DEPTH_WRITE_MASK_ALL
Stencil Enable FALSE
Stencil Read Mask 11111111
Stencil Write Mask 11111111 Edited by mmurphy

Share this post


Link to post
Share on other sites
Khatharr    8812
Is your backbuffer the same size as your window area? Are you making use of AdjustWindowRect()? Looks like maybe the buffer dimensions are slightly off. Apart from that I think we'd need to see your full init code and the render code you're using to get the artifacts.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this