Jump to content

  • Log In with Google      Sign In   
  • Create Account

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


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
10 replies to this topic

#1 mmurphy   Members   -  Reputation: 105

Like
0Likes
Like

Posted 10 June 2012 - 03:49 PM

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.

Sponsor:

#2 Tordin   Members   -  Reputation: 604

Like
0Likes
Like

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.
"There will be major features. none to be thought of yet"

#3 MJP   Moderators   -  Reputation: 11741

Like
0Likes
Like

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.

#4 mmurphy   Members   -  Reputation: 105

Like
0Likes
Like

Posted 11 June 2012 - 11:52 PM

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?

#5 MJP   Moderators   -  Reputation: 11741

Like
0Likes
Like

Posted 11 June 2012 - 11:58 PM

If you're getting artifacts, then it's likely that your problem is elsewhere.

#6 mmurphy   Members   -  Reputation: 105

Like
0Likes
Like

Posted 12 June 2012 - 01:11 AM

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)

#7 mmurphy   Members   -  Reputation: 105

Like
0Likes
Like

Posted 12 June 2012 - 09:55 AM

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.

Posted Image

#8 MJP   Moderators   -  Reputation: 11741

Like
0Likes
Like

Posted 12 June 2012 - 12:12 PM

Do you have alpha blending enabled?

#9 mmurphy   Members   -  Reputation: 105

Like
0Likes
Like

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

Edited by mmurphy, 12 June 2012 - 11:20 PM.


#10 mmurphy   Members   -  Reputation: 105

Like
0Likes
Like

Posted 20 June 2012 - 01:04 AM

Is there any information I am not including that could help describe my issue?

#11 Khatharr   Crossbones+   -  Reputation: 3038

Like
0Likes
Like

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.




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS