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.
How should my texture sampler be for rendering a bitmap font/sprite?
Started by mmurphy, Jun 10 2012 03:49 PM
10 replies to this topic
Sponsor:
#2 Members - Reputation: 528
Posted 11 June 2012 - 01:39 AM
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.
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.
"There will be major features. none to be thought of yet"
#3 Moderators - Reputation: 5642
Posted 11 June 2012 - 01:10 PM
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.
#9 Members - Reputation: 105
Posted 12 June 2012 - 10:45 PM
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
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, 12 June 2012 - 11:20 PM.
#11 Members - Reputation: 1677
Posted 20 June 2012 - 01:32 PM
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.
void hurrrrrrrr() {__asm sub [ebp+4],5;}
There are ten kinds of people in this world: those who understand binary and those who don't.
There are ten kinds of people in this world: those who understand binary and those who don't.







