Текущий архив: 2007.11.04;
Скачать: CL | DM;
Вниз
Шо не так? Найти похожие ветки
← →
Lamer_2006 (2006-10-27 14:43) [0]Люди, помогите, плиз! Есть текстура 512х512, в центре нарисован Rectangle. Как теперь этот Rectangle наложить на пару тругольников, составляющих квадрат. Проблема в том что я четко задаю Direct"у текстурные координаты, но в нужные пиксели не попадаю....
← →
Cash © (2006-10-27 16:28) [1]Как задаешь ТК? Какие именно, дай все 4 пары.
А еще - на каких API выводишь?
← →
XProger © (2006-10-27 16:48) [2]Lamer_2006, отключи фильтрацию текстур
Cash, написано про API...
← →
Rial © (2006-10-27 18:00) [3]У меня была такая же беда.
Насколько я помню, чтобы точно в пискселы попадать, нужно
сместить координаты то ли влево, то ли вправо на 0.5 пиксела
в относительных размерах.
Еще присоединюсь к
> [2] XProger © (27.10.06 16:48)
← →
Ketmar © (2006-10-27 18:27) [4]да не "влево-вправо". а по центру. %-))
← →
Lamer_2006 (2006-10-27 19:12) [5]Фильтрация отключена. Так влево или вправо?
И что значит эта формула:
Tx=(u*Mx)-0.5 ( DirectX SDK)
← →
Ketmar © (2006-10-27 19:28) [6]да хоть вверх. лишь бы в центр.
← →
Ketmar © (2006-10-27 19:28) [7]для информации: в данном случае точка имеет размеры. ага.
← →
Lamer_2006 (2006-10-28 11:24) [8]А в центр ето как?
← →
Rial © (2006-10-28 11:59) [9]Ну вот смотри: поставь карандаш на пересечение линий в
тетрадке в клеточку...
А тебе теперь нужно так переместить карандаш (читай - сместить
текстурные координаты), чтобы он встал ровно посерединке клеточки...
← →
Lamer_2006 (2006-10-28 18:40) [10]Да мне не надо посередине, мне надо чтобы рамка вошла вся полностью!
← →
Ketmar © (2006-10-28 18:57) [11]>[10] Lamer_2006 28-Oct-2006, 18:40
>Да мне не надо посередине, мне надо чтобы рамка вошла вся
>полностью!
иди за метлой. все проблемы с пикселами сразу исчезнут. в стране дворников хороших мало.
← →
Cash © (2006-10-29 07:46) [12]Lamer_2006 (28.10.06 18:40) [10]:
Вершины трансформированные (RHW)?
Включи линейную фильтрацию по магнификату.
Смести позиции точек к центру на 0.5.
Оставь ты эти ТК! Они пусть будут (0,0,1,1).
← →
Lamer_2006 (2006-10-29 14:27) [13]Проблема в том, что верхняя левая вершина попадает, а нижняя правая отстает на один пиксель, хотя я четко координатами указал нужный...
← →
Cash © (2006-10-29 20:38) [14]Так! А как именно?
1024/1024 ???
или 1?
или 0.95?
← →
VolanD666 (2006-10-30 06:25) [15]Например, задаю нижний правый угол, пусть мне нужен 54 пиксель текстуры => 54/1024=0.05273, но на экране этого пикселя нет, как так?
← →
Lamer_2006 (2006-10-30 06:25) [16]Например, задаю нижний правый угол, пусть мне нужен 54 пиксель текстуры => 54/1024=0.05273, но на экране этого пикселя нет, как так?
← →
Lamer_2006 (2006-10-30 06:26) [17]Сорри, под ником моего брата написал :(
← →
Cash © (2006-10-30 10:44) [18]ыыы! бывает! :)
Дак так ты задаешь конец 54 пикселя!
надо так: (53,5)/1024;
Все ТК деформируй тогда на 0.5 пикселя к центру, т. е. верхие ТК по Y
делай по +0,5, а нижние - по -0,5.
Так ты попадешь по центру пикселя.
И... включи линейную фильтрацию по магнификату, поможет!
← →
Lamer_2006 (2006-11-03 19:09) [19]Т.е. у каждого треугольника мне надо найти MaxTX, MinTX, MaxTY, MinTY и к ним уже прибавлять?
← →
Cash © (2006-11-04 07:45) [20]неа!
У тебя уже есть все нужные тебе ТК. тебе их толко сместить надо.
Можно к центру, можно все +0,5, можно все -0,5.
Главное, чтобы определить какой именно пиксель из карты тебе нужен,
тебе надо ТК установить имеено на этот пиксель, а не на его границу,
т. е. +/-0,5.
Вот смотри, надо указать область с 80 по 92 пиксель карты, при этом
ширина полигона будет равна 12 (замечаем сходство, не проходим мимо).
Берем и говорим, что вершины будут такими:
((50,50,0),1,(80.5/1024,0)),((62,50,0),1,(92.5/1024,0)),
((50,80,0),1,(80.5/1024,1)),((62,80,0),1,(92.5/1024,1)).
И потом рисуем их в связке D3DPT_TRIANGLELIST.
Если нужен первый пиксель, то надо сказать: 0.5, а если последний -
то 1023.5.
← →
Lamer_2006 (2006-11-05 07:21) [21]Спасибо
Страницы: 1 вся ветка
Текущий архив: 2007.11.04;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.037 c