Ненамесена текстурирана четворка

Искам да покажа текстуриран квадрат, чиято текстура не се намесва. Както го имам сега, програмата ми създава текстура с размери 32x32 и зарежда текстура в нея. Създадох буфер за върхове с FVF от D3DFVF_XYZRHW и D3DFVF_TEX1 и 4 върхове, които образуват четворка 32x32. На пръв поглед, когато се показва, изглежда добре, но проблемът е, че когато коригирам върховете, за да накарам текстурата да се движи, изглежда, че когато текстурата е разположена на определени места, някои от пикселите на текстурата се изкривяват. Предполагам, че Direct3D прави това, като си мисли, че моята текстура е предназначена за 3D графики, когато е предназначена да се показва такава, каквато е. Какво мога да направя, за да накарам Direct3D да не пречи на моя текстуриран четириъгълник?

Знам за ID3DXSprite, но избирам да не го използвам.

Оригинална текстура: http://i54.tinypic.com/2arko0.jpg
Екранна снимка на програмата : http://i55.tinypic.com/2h7kimw.jpg


person kaykun    schedule 09.10.2010    source източник


Отговори (1)


Добавяте ли половин тексел отместване към UV?

Опитайте да добавите 1/64 към всяка от UV координатите. Това вероятно ще реши проблема ви.

person Goz    schedule 11.10.2010