Jump to content

  • Log In with Google      Sign In   
  • Create Account

Banner advertising on our site currently available from just $5!


1. Learn about the promo. 2. Sign up for GDNet+. 3. Set up your advert!


D3D9 Texture isn't the right size


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
3 replies to this topic

#1 Muzzy A   Members   -  Reputation: 737

Like
0Likes
Like

Posted 23 July 2013 - 10:40 PM

Hey, I have a chess board texture. It's dimensions are "512 x 512"

 

when I load in the texture it tells me the dimensions are "512 x 512"

 

but when displayed on the screen, it shows it as about "471 x 496"

 

 

I'm using the D3D9 sprite manager

ID3DXSprite *pSpriteMan;
 
// I'm not scaling the image AT ALL

To expand on this, I have all my chess pieces positioned exactly "64 x 64" away from each other, and each chess piece texture is "64 x 64"

 

they fit perfectly on the board....

 

 

 

 

What's going on here?

 

 

I bring this up because, I'm trying to click on a chess piece, but I don't get the exact piece that i'm trying to click because of this small little offset

 

 

 

 

 

 

 

 

 

 

 

 

 

 

EDIT:

    I was thinking and I remember this same situation happening to me once before in a 3D engine I was working on, I thought I was just doing something wrong with my math somewhere but now I realize it wasn't me. Because the mouse clicks were offset in the 3D game as well, and the farther away from the top left of the screen the worse it was.


Edited by Muzzy A, 24 July 2013 - 12:58 AM.


Sponsor:

#2 Zaoshi Kaba   Crossbones+   -  Reputation: 5776

Like
1Likes
Like

Posted 24 July 2013 - 01:10 AM

Are you sure your backbuffer isn't stretched in any way?



#3 Muzzy A   Members   -  Reputation: 737

Like
0Likes
Like

Posted 24 July 2013 - 02:09 AM

I haven't touched the back buffer in this, no need to =S. I just init direct X with no special flags, I did everything as basic as possible.

// This is the only time I ever touch the  back buffer.
d3dpp.BackBufferWidth = WindowWidth;
d3dpp.BackBufferHeight = WindowHeight;

EDIT:

 Wait that actuall makes sense now, i set the back buffer size to the same as the window. But the RECT inside the window where the backbuffer gets displayed is scaled down a bit do to the menu and borders... Am I correct?

 

 

DOUBLE EDIT:

    I applied the offset to the backbuffer width and height and now it's perfect. Thanks Zaoshi you were right.


Edited by Muzzy A, 24 July 2013 - 02:15 AM.


#4 imoogiBG   Members   -  Reputation: 1680

Like
0Likes
Like

Posted 24 July 2013 - 05:14 AM

Yes the client area is smaller than WindowWidth and WindowHeight 






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