Direct3D рисование 2d спрайтов. проблемы масштабирования - PullRequest
1 голос
/ 21 августа 2011

Я новичок в программировании на c ++ и direct3d. Я пытаюсь рисовать текстуры (LPDIRECT3DTEXTURE9) на экране со спрайтом (LPD3DXSPRITE). Но когда я рисую текстуру, кажется, что она увеличивается, текстура размером 100x100 пикселей рисуется не из координат (100, 100) в (200, 200), а из (100, 100) в (227, 227), я проверял это с помощью рисуя блоки 1x1 px по этим координатам. Я не могу понять, почему это так ... Создание LPDIRECT3DDEVICE9 как-то влияет на него или это может быть что-то совершенно другое?

1 Ответ

0 голосов
/ 13 апреля 2012

Это похоже на проблему масштабирования. Когда вы впервые вызываете CreateTextureFromFile (), функция вызывает масштабирование текстуры до правила степени 2 (например, 512, 256). Чтобы это исправить, просто вызовите функцию setScale для 1,1, и это должно решить вашу проблему:)

...