Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.06.03;
Скачать: CL | DM;

Вниз

Нормальный Lightmap   Найти похожие ветки 

 
VolanD666   (2006-06-30 20:35) [0]

Всем привет! Целый месяц пытаюсь реализовать нормальное освещение с помощью lightmap. Все вроде получилось, но есть несколько косяков.
Наиболее существенный из них- это полосы , которые возникают из-за фильтрации текстуры lightmap`а. Отсюда вопрос: Как сделать так, чтобы при фильтрации текстуры D3D не "выходил за грацицы текстурных координат" ( т.е. не брал пиксели которые не принадлежат этому треугольнику ). Во как...


 
Cash ©   (2006-06-30 21:07) [1]

Это в дополнение к http://delphimaster.net/view/9-1150186032/ ???

(я просто увидев тему решил порыскать, прочитал там твой последний пост и...)
Т. е. при создании текстуры ты ей говоришь, что Width и Height будут не
нулевыми, а такими, которые ты им даешь?
Так, а потом, когда формируешь текстурные координаты (0..1), ты
пользуешься теми же Width и Height?
Или размеры текстуры как то по другому указываешь?


 
XProger ©   (2006-06-30 22:30) [2]

VolanD666,
1) освещать группы полигонов
2) вокруг lightmap"a для группы полигонов создавать рамку в 1-2 пикселя цвета lightmap"а %)


 
VolanD666   (2006-07-01 07:35) [3]


> 2) вокруг lightmap"a для группы полигонов создавать рамку
> в 1-2 пикселя цвета lightmap"а %)

Вот этого я и боялся...


 
VolanD666   (2006-07-01 15:35) [4]

Хм... А вот почему, например, есть 45 пиксель ( т.е. 45/512=0.087890625 ), а на полигоне я его не вижу?


 
Cash ©   (2006-07-01 15:51) [5]

Потаму, что размеры текстуры могут отличаться от размеров исходной картинки.


 
VolanD666   (2006-07-01 16:12) [6]

Это как? У меня текстура 512х512 => 45 пиксель будет иметь координату 45/512=0.087890625. Так?


 
Cash ©   (2006-07-01 16:27) [7]

Так, э-э-э, текстура или исходная картинка?
Как правило размер текстуры чуть больше чем исходник.
(но этого может и не быть)

Размер самой текстуры можно узнать через GetLevelDesc, там она вернет
структуру, в которой и будут параметры Width и Height беззнакового целого
типа.

А вот из этих размеров уже можно TU и TV считать.


 
VolanD666   (2006-07-01 16:46) [8]

А если я ее гружу с помощью D3DXCreateTextureFromFile?


 
Cash ©   (2006-07-01 17:10) [9]

Дак, а как ее еще из D3DX библиотеки создать??? 8)
D3DXCreateTexture... я и имел ввиду, после создания текстуры
возми у нее GetLevelDesc и посмотри, если размеры одинаковы, то
там примешана фильтрация, иначе - неверные текстурные координаты.


 
XProger ©   (2006-07-02 02:16) [10]

VolanD666, получишь 46 пиксель по счёту :)


 
VolanD666   (2006-07-02 09:13) [11]

Why?


 
XProger ©   (2006-07-02 12:51) [12]

VolanD666, считаем с нуля :)
0 - граница, 0.5 - первый тексель, следовательно 45.5 - 46 тексель


 
VolanD666   (2006-07-02 18:05) [13]

А, ну это понятно )

А вот я еще косяк заметил, как только меняем разрешение текстур lightmap"а, то происходит не стыковка полигонов на границе. Как с этим борются?


 
XProger ©   (2006-07-02 18:27) [14]

Генерируют lightmap для группы полигонов ;)


 
VolanD666   (2006-07-02 19:32) [15]

А группируют по какому принципу?
1) Полигоны должны иметь хотя бы две общие точки
2) Лежать в одной плоскости

Так?


 
VolanD666   (2006-07-06 17:20) [16]

3) Нормали направлены в одну сторону


 
_3d[Power] ©   (2006-07-08 09:32) [17]

Под опеном это лечится
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);

Поищи аналог под д3д )


 
VolanD666   (2006-07-08 09:55) [18]

Но полигоны все равно надо группировать?



Страницы: 1 вся ветка

Текущий архив: 2007.06.03;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.062 c
10-1133297958
volser
2005-11-29 23:59
2007.06.03
Создать Client/Server CORBA в Delphi7


2-1178874470
KIV
2007-05-11 13:07
2007.06.03
рисовать по мировым координатам


15-1178637751
phpdeveloper
2007-05-08 19:22
2007.06.03
SQL запрос


15-1178864905
alexandr
2007-05-11 10:28
2007.06.03
я ухожу из delphimaster


15-1178045212
wp2
2007-05-01 22:46
2007.06.03
Как в этом долбанном Word 2007 делаются формы?