Форум: "Игры";
Текущий архив: 2007.05.20;
Скачать: [xml.tar.bz2];
ВнизТекстурные координаты Найти похожие ветки
← →
VolanD666 (2006-06-13 12:07) [0]Привет, всем!
Можно ли «сказать» D3D, что я хочу задавать текстурные координаты не в масштабе [0,1], а в пикселях?
← →
RzCoDer © (2006-06-13 12:11) [1]А что тебе мешает перевести координаты [0;1] в пиксели? Если текстура 256*256 то 1=256. реши уровнение X=128 или X=64
← →
Cash © (2006-06-13 13:05) [2]Не верится мне в это, да и в спраке вроде про это ничего не сказано, говорят только как из системы 0..Width перевести в систему 0..1, и все.
(вроде...)
← →
MeF Dei Corvi © (2006-06-13 16:56) [3]А какой смысл задавать текстурные координаты в пикселях? Это же бред.
ИМХО, аффтар чего-то не понимает.
← →
VolanD666 (2006-06-14 17:00) [4]Просто я тут lightmap увлекся и когда вторую текстуру накладываю, то на ней появляются полосы, мне кажется, что это из-за не верных текстурных координат ( типа 0,307697 ).
← →
a22 © (2006-06-14 17:36) [5]покажи скриншот
← →
VolanD666 (2006-06-15 04:50) [6]http://www.gamedev.ru/images/?id=12266
← →
a22 © (2006-06-15 12:03) [7]а накладываемая текстура как выглядит? на ней нет полос?
← →
VolanD666 (2006-06-15 14:08) [8]http://www.gamedev.ru/images/?id=12272
← →
ancara © (2006-06-15 14:21) [9]
> VolanD666 (15.06.06 14:08) [8]
мне кажется, тебе надо создать такую же текстурку как твой лайтмап, только вмесо самих тайтмапов нарисовать разноцветные прямоугольники, и посмотреть, какой цвет вылезает ввиде полосы.
Уверен на 90%, что проблема в текст. координатах. А преобразовать пиксели в текст. координаты проще простого:
X = U * TextureWidth
где Х это Х-координата на текстуре в пикселях
а U это U-координата в диапазоне от 0 до 1.
← →
ancara © (2006-06-15 14:21) [10]
> VolanD666 (15.06.06 14:08) [8]
мне кажется, тебе надо создать такую же текстурку как твой лайтмап, только вмесо самих лайтмапов нарисовать разноцветные прямоугольники, и посмотреть, какой цвет вылезает ввиде полосы.
Уверен на 90%, что проблема в текст. координатах. А преобразовать пиксели в текст. координаты проще простого:
X = U * TextureWidth
где Х это Х-координата на текстуре в пикселях
а U это U-координата в диапазоне от 0 до 1.
← →
a22 © (2006-06-15 14:24) [11]видимо, текстурные координаты неверны. либо они совсем неправильные, либо ты не учитываешь, что tc = {u,v} задает координаты центра текселя, а не левого-верхнего угла.
← →
ancara © (2006-06-15 14:28) [12]О! Еще мысль!! Я щас скачал твой лайтмап и посмотрел на него с большим зумом, там за счет JPEG-сжатия на стыках полосок наблюдается усреднение цветов, может оно и создает артефакты??
Попробуй с максимальным качеством сохранить или вообще без сжатия.
← →
VolanD666 (2006-06-15 15:40) [13]Ancara, я lightmap в bmp храню, это я что бы вам много не качать в jpg переделал :)
← →
VolanD666 (2006-06-15 15:51) [14]Хм... Отключил всю фильтрацию текстуры и заработало, а "чё" делать- без фильтрации плохо?
← →
ancara © (2006-06-15 16:04) [15]хранить в отдельных файлах?
← →
ancara © (2006-06-15 17:47) [16]И почему у тебя там полосы по диагонали, они же вдоль ребра должны быть, или нет?
Я не знаю как в D3D, но в OGL, если рисовать примитив GL_QUAD, то вершины располагать надо так
1____2
| |
|___|
4 3
а если GL_TRIANGL_STRIP то так
1____2
| / |
|/__|
3 4
может там что напуталось у тебя?
← →
Cash © (2006-06-15 17:47) [17]VolanD666 (15.06.06 15:51) [14]:
... а TextureWidth и TextureHeight (высоту/ширину) текстуры как определяеш???
← →
VolanD666 (2006-06-15 19:57) [18]Cash, пока сам задаю, а потом посмотрим )
Страницы: 1 вся ветка
Форум: "Игры";
Текущий архив: 2007.05.20;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.042 c