Главная страница
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.031 c
2-1179023890
Valor
2007-05-13 06:38
2007.06.03
Список фалов..


2-1179307471
V9
2007-05-16 13:24
2007.06.03
Подскажите функцию определения високосного года


2-1179306922
Forest
2007-05-16 13:15
2007.06.03
если весь текст не помещается, отображался конец слова


2-1179163206
Просто_новичок
2007-05-14 21:20
2007.06.03
Создание массива при работе приложения.


15-1178188268
Иксик
2007-05-03 14:31
2007.06.03
Что за ерунда, на могу добавить пост!!!