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