lawck wrote:800x600, 1024x768, 513x257, 299x116...
And I just tried 800x400.
The problem persists.
I'm not surprised. Not a single one of these are a power-of-two in both directions. Plus, 513x257 and 299x116 are very strange sizes from a texture point of view.
The one exception I've seen in an nvidia 8800 card which doesn't seem to care and will happily even mip weird sizes.
Right...
But even if your gfx card supports non-2^n textures you should always use dimensions in 2^n, because you can not assume that every user has such a gfx card, too !!!
Honestly, I'm having trouble reproducing this with the 1.4beta distribution. The following code correctly renders the given texture with its top-left corner placed at (0, 0).
// image is 512x385
video::ITexture* t = driver->getTexture("../../media/dotnetback.jpg");
while(device->run())
if (device->isWindowActive())
{
if (driver->beginScene(true, true, video::SColor(0,200,200,200)))
{
smgr->drawAll();
driver->draw2DImage(t, core::position2di(0, 0));
driver->endScene();
}
}
I found that it doesn't work with the Apfelbaum [EDT_BURNINGSVIDEO] driver type, but it seems to work just fine with all of the others. You can see screenshots here.
In my case, OpenGL looks better then DirectX9, but even then, OpenGL didn't look very smooth .
The one that looked the best, was EDT_SOFTWARE.
But using power of 2 image width & height, worked pretty fine for both, OpenGL and DirectX9 (didn't test it with EDT_BURNINGSVIDEO)