Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2007.06.03;
Скачать: [xml.tar.bz2];

Вниз

Нормальный 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.054 c
2-1178949772
Oleg_teacher
2007-05-12 10:02
2007.06.03
Парадокс


15-1178869133
ЮЮ
2007-05-11 11:38
2007.06.03
Я ухожу из Дельфи. Если Мастера не дадут :)


3-1173947861
Grant
2007-03-15 11:37
2007.06.03
BLOBы в Oracle


15-1178289310
Cyrax
2007-05-04 18:35
2007.06.03
Microsoft Visual C++ Runtime Library: Runtime error


2-1179122720
Шакал
2007-05-14 10:05
2007.06.03
Сортировка по дате





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский