Question

Is it possible to tile an image in XNA so that it fills the entirety of a rectangle? I've tried Googling the subject, but I can't find anything that seems to work (I'm probably missing something obvious though). I found this MSDN page, but I can't seem to get it to work. Here's my code:

spriteBatch.Begin(SpriteSortMode.Deferred, null, SamplerState.LinearWrap, null, null);

But this just stretched the texture to fill the rectangle, not tile it. Any help is appreciated. Thanks in advance.

Was it helpful?

Solution

The wrap sampler states indicate that texture coordinates that fall outside of the normal 0-1 range will be wrapped. If you're calling Draw() with a null source rectangle, then your texture coordinates are always going to be from exactly 0 to exactly 1.

Try calling Draw() with a source rectangle that's bigger than the texture. Twice as big should tile it twice, four times as big should tile it four times, etc.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top