Draw 2D with SlimDX

Hello, I am having trouble displaying the correct sprite using SlimDX. It draws a bit scaled like .NET Drawing DrawImageUnscaled does. I do not use any conversions.

Init:

Vector2 position;
Sprite sprite;
Size size;
Texture texture;
sprite = new Sprite(Device);
string filename = /*some bitmap*/;
using (Image b = Bitmap.FromFile(filename))
  size = b.Size;

position = new Vector2(550, 230);
texture = Texture.FromFile(Device, filename);

Rendering:

Device.Clear(ClearFlags.Target, Color.Black, 1.0f, 0);
Device.BeginScene();
sprite.Begin(SpriteFlags.None);
sprite.Draw(texture, new Vector3(size.Width / 2, size.Height / 2, 0), new Vector3(position, 0), Color.White);
sprite.End();
Device.EndScene();

EDIT: If you don’t know how to present the wrong rendering, here is what I get and reference (ignore this white color, it's just transparent PNG). Notice how the first image scales. Incorrect. Correct.

+3
source share
2 answers

, NPOT- ( ). , POT. ( SlimDX ).

Btw... SlimDX 2D-, , "" . ,

+4

- .

+2

Source: https://habr.com/ru/post/1707976/


All Articles