Welcome, guest. You can be a Login или register
Author
Topic title
Garux
Offline
5 posts
Karma 0
Здравствуте, дяденька!
Такой вопрос: сложно/рентабильно ли будет запилить поддержку внешних лайтмепов, как в ET?
Такие лайтмепы можно компилить и для q3 мап, очень просто - указав -lightmapsize n.

Есть способ сделать внешние лайтмепы и для q3 движка, но с ними есть пара проблем.
Они не распознаются движком, как лайтмепы, поэтому лайтмепные регулировки яркости для них не работают; также они мипмапятся и пикмипятся, а указать nomipmaps и nopicmip для отдельного слоя нельзя.
В q3bers такие лайтмепы вообще не работают, т к используется шейдер с tcgen lightmap.


q3bers очень порадовал фпсом на грузных мапах типа qsnrun, lun3dm5, eastrun, r7-jundo2.
220-400, я эякулировал :D
С попиксельным освещением не так радужно, на маленькой тестовой комнате с 16 лампочками 60 фпс.

Кстати, могу высказать практические соображения по поводу светящихся поверхностей, если их ещё не копали.
Barnes
Offline
1840 posts
Karma 148
поэтому лайтмепные регулировки яркости для них не работают; также они мипмапятся и пикмипятся, а указать nomipmaps и nopicmip для отдельного слоя нельзя.

А зачем тянуть старый зоопарк железа этим даунсемплом? По части яркости, У Сереги она шейдерным постпроцессом. А сама идея внешнего лайтмапа хорошо. Не напомнишь их возможные параметры? я сто лет ку3мэп2 не использовал
Какой богатый внутренний мир! Дай-ка посмотрю.....
Garux
Offline
5 posts
Karma 0
Не уверен, что понял мысль про старое железо, но скажу, что в том варианте получаются вполне годные лайтмепы, только q3 их не совсем правильно понимает.
q3bers мог бы, причём это несложно.
Речь о поддержке мап с внешними лайтмепами, которые есть и продолжают выпускаться.
наример
http://ws.q3df.org/maps/downloads/dk_msg4_ctf.pk3
Ещё такие лайтмепы используют для эффекта псевдодинамического света.

Про параметры лайтмепов - сейчас посчитал для теста размером 16384*16384.
Минимальный samplesize - 1, т е 1 пиксель на 1 юнит игры.
После сглаживаний выглядит так же чётко, как тени Берсеркера.
Раньше была проблема с нехваткой памяти q3map2 под много таких лайтмепов, но сейчас есть несколько 64bit версий компилятора :)
Barnes
Offline
1840 posts
Karma 148
Шоты с подобными лайтмэпами можно?
Какой богатый внутренний мир! Дай-ка посмотрю.....
DOOMer
Offline
Хранитель и могильщик Врат
1557 posts
Karma 103
Barnes
Шоты с подобными лайтмэпами можно?


idTech3, по заявлению автора шота, с применением внешних лайтмапов (текстуры конеш нифига не дефолтные).

Garux
но сейчас есть несколько 64bit версий компилятора

А можно ссылки на 64-битный q3map2? Желательно с исходниками, пригодными к сборке не только в Winows, но и в Linux.
Вертексы должны образовывать конвексный браш
My Quake Maps

Core i5 4210U 1.7 Ghz, 8 Gb RAM, GeForce 840M
Ubuntu 15.04 x86_64 [



сохранись перед дверью...два раза =)
Garux
Offline
5 posts
Karma 0


idTech3 :D


А можно ссылки на 64-битный q3map2? Желательно с исходниками, пригодными к сборке не только в Winows, но и в Linux.


Навскидку два варианта
http://icculus.org/gtkradiant/downloads/1.6/
http://ingar.satgnu.net/gtkradiant/files/
chtonicnoise
Offline
коты прилетели
189 posts
Karma 14
Давненько от Сереги не поступало вестей по проекту. :)
коты прилетели
Берсеркер
Offline
Суровый челябинский программист
2258 posts
Karma 200
да будут скоро :D тени - вещь капризная.
Машина несла меня через неведомые районы Галактики сквозь пространство математической реальности быстрее скорости света. (C) Фред Саберхаген.
Берсеркер
Offline
Суровый челябинский программист
2258 posts
Karma 200
тестовый билд:
http://files.mail.ru/8D4C549530E14C7F9EFB1B038B673333
(в папке maps лежат bsp/map примеров линкованных лайтов)

есть тени от солнца (если поместить его, солнце, в релайт),
также допилены линкованные лайты: ориентированные прожектора теперь также вращаются синхронно с брашмоделями-владельцами.

Как залинковать лайт на выбранную бмодель:
Способ 1, для радианта, если есть исходник карты:
1. создаём брашмодель, например func_rotating.
2. даём ей имя, например targetname rotor.
3. создаём лайт, задаём нужный цвет и пр. характеристики. Например, для прожектора можно задать его направление, метод стандартный: через light.target и info_null.targetname (или target_position.targetname).
4. задаём лайту имя владельца, для примера: owner rotor.
5. перемещаем лайт в центр вращения бмодели, копируем значение origin в center.
6. перемещаем лайт в место у бмодели, откуда он будет светить.

Способ 2, если нет исходника map (не возбраняется применить в радианте):
1. запускаем игру на выбранной карте
2. ищем желаемую бмодель (r_showbrush *2 в примеру) (потом сделаю удобнее выбор бмодели, а пока что есть то есть)
3. приписываем лайту: link *2
прочее то же самое...

Машина несла меня через неведомые районы Галактики сквозь пространство математической реальности быстрее скорости света. (C) Фред Саберхаген.
Берсеркер
Offline
Суровый челябинский программист
2258 posts
Karma 200
http://files.mail.ru/460D395AAABC4262846EFD04E36FACC3

упрощена линковка лайта для способа с owner:
1. создаём брашмодель, например func_rotating.
2. даём ей имя, например targetname rotor.
3. создаём лайт, задаём нужный цвет и пр. характеристики. Например, для прожектора можно задать его направление, метод стандартный: через light.target и info_null.targetname (или target_position.targetname). Размещаем лайт именно там, где он должен быть прицеплен.
4. задаём лайту имя владельца, для примера: owner rotor.

всё! center лайту задавать уже не надо, загрузчик сам возьмёт его из origin бмодели с именем targetname = owner ;)

Способ с link менее предпочтителен из-за большей трудоёмкости и необходимости находить center.
Но остаётся полезным если нет исходника карты.
Машина несла меня через неведомые районы Галактики сквозь пространство математической реальности быстрее скорости света. (C) Фред Саберхаген.