Беспрепятственный текстурированный четырехугольник

Я хочу отобразить текстурированный четырехугольник, на текстуру которого не влияют никакие помехи. Как у меня сейчас, моя программа создает текстуру размером 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