Главная страница
    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.48 MB
Время: 0.09 c
2-1179147314
TempUser
2007-05-14 16:55
2007.06.03
И всё таки как скинуть программу в трей?


2-1179302239
Ol4ik
2007-05-16 11:57
2007.06.03
DBLookupListBox


15-1178569913
Германн
2007-05-08 00:31
2007.06.03
С жиру бесятся (Каждый сходит с ума по своему :)


15-1178245644
Slider007
2007-05-04 06:27
2007.06.03
С днем рождения ! 4 мая


15-1178174073
clickmaker
2007-05-03 10:34
2007.06.03
Как запретить сохранение ссылок на Web Folders?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский