Welcome to U.A.C. [O.S.A.]
login / register 
Status: Guest
Архивы форума | iddqd.ru
Wolf 3D
ПравилаПравила ПоискПоиск
18+
Софтовое освещение в OpenGL Пред.  1, 2
   Список разделов - Doom и его порты - Софтовое освещение в OpenGLОтветить
АвторСообщение
Monsterooovich
Chief Petty Officer
Next rank: - Warrant Officer - after 87 points
953

Doom Rate: 1.54

Posts quality: +11
Ссылка на пост №21 Отправлено: 21.12.12 17:02:14
http://submarine.homeunix7.org/files/src/swlight/zandronum-swlight-v2.3-linux.tar.gz - Вот linux вариант для зандронума.

Кстати можно постучаться к ним может добавят в следующей версии зандра.
Korshun
= Lance Corporal =
Next rank: - Master Corporal - after 31 points
169

Doom Rate: 3.84

Posts quality: +13
Ссылка на пост №22 Отправлено: 21.12.12 17:21:49
StasBFG[iddqd]:
Скомпилировал теперь уже официальную версию: x86 | x64

Надо же, выбор лайтмоуда сделали. Правда багов многовато...

Monsterooovich:
Пока что-то сам не сделаешь Lazy (G)ZDoom Devs. не будут делать сами... с отмазками типа It's IMPOSSIBLE! @ Если бы Korshun не сделал то мы бы играли в гавно стандартое освещение OGL ещё 5-10 лет...


С одной стороны, так оно и есть, скока раз слышал, что софтовое освещение в опенгл невозможно, так писали в любом обсуждении освещения в рендерерах. Удивлён, почему за 5-10 лет никто не сделал такой простой вещи, как закинуть думовскую формулу освещения в пиксельный шейдер. Но с другой стороны, благодарен разработчикам здума за поддержку, удивлён, что вот прямо так быстро добавили.

Monsterooovich:
Кстати в RGBA2 напоминает софтвар с его 8-битной палитрой.

А у меня между RGBA8, RGBA4 и RGBA2 разницы ноль. Зато в RGB5_A1 (16 битные текстуры) разница заметна - почему-то все текстуры становятся темнее и контрастнее (как-будто гамму понизил или контрастность повысил). А при настоящем сжатии текстур (DXT) сама текстура искажается, но цвета темнее не становятся.

Добавлено спустя 1 минуту 26 секунд:

Добавил Линукс бинарники зандронума в шапку.
1 1 3
Monsterooovich
Chief Petty Officer
Next rank: - Warrant Officer - after 87 points
953

Doom Rate: 1.54

Posts quality: +11
Ссылка на пост №23 Отправлено: 21.12.12 18:22:45
Korshun:
удивлён, что вот прямо так быстро добавили.


Фича то очень хорошая. Почему бы не добавить.

Korshun:
Правда багов многовато...


Традиция (G)ZDoom-а! :)
StasBFG[iddqd]
-= DoomGod =-
Админ форумаАдмин сайта
3151

Doom Rate: 2.89

Posts quality: +24
Ссылка на пост №24 Отправлено: 24.12.12 12:46:42
Попробовать новый режим освещения можно также в GLBoom-Plus. Билд для Windows.
Выберите sector lignting mode = "shaders" в настройках.
1 1 2
Korshun
= Lance Corporal =
Next rank: - Master Corporal - after 31 points
169

Doom Rate: 3.84

Posts quality: +13
Ссылка на пост №25 Отправлено: 24.12.12 20:14:14
Вау, уже в глбум добавили. Вроде работает норм, если гамму нормальную выставить, а не завышенную. И вспышки от стрельбы слишком яркие, таких даже в софте нету.

Вообще всегда удивляла ситуация, что в опенгл рендерере самого лучшего классического порта освещение дальше от софта, чем в гздуме. Теперь наконец-то всё правильно :D
1 1 3
cybermind
- Warrant Officer -
Next rank: = Warrant Officer = after 95 points
1045

Doom Rate: 1.99

Posts quality: +163
Ссылка на пост №26 Отправлено: 24.12.12 20:48:25
Какой версии шейдеры используются? У меня что глбум крашится с сигналом 11, а гздум просто не показывает данный режим в настройках. Хотя все это объяснимо, ибо карточка старая (Radeon 9000), но все же интересно
1 2 1
StasBFG[iddqd]
-= DoomGod =-
Админ форумаАдмин сайта
3151

Doom Rate: 2.89

Posts quality: +24
Ссылка на пост №27 Отправлено: 24.12.12 21:59:08
cybermind [B0S]
Я проверил на GeForce 6800 GT (SM 3.0) - в sector light mode не даёт выбрать новый режим, шейдеры не включаются. Если его прописать в конфиге (gl_lightmode=8) - будет работать как Dark, но это не то...
Остальное работает исправно как с gl_vid_compatibility так и без него.
Версия от Korshun вываливается, возможно потому что скомпилирована в новой студии, не поддерживающей win98.
1 1 2
Monsterooovich
Chief Petty Officer
Next rank: - Warrant Officer - after 87 points
953

Doom Rate: 1.54

Posts quality: +11
Ссылка на пост №28 Отправлено: 24.12.12 22:04:55
StasBFG[iddqd]:
GeForce 6800 GT


Вхоалол! Да что там проверять... NVidia же.

Добавлено спустя 2 минуты 53 секунды:

cybermind [B0S]:
Какой версии шейдеры используются? У меня что глбум крашится с сигналом 11, а гздум просто не показывает данный режим в настройках. Хотя все это объяснимо, ибо карточка старая (Radeon 9000), но все же интересно


У меня на компьютере где карточка быдлоинтел не работает тоже, вылетает. Сочувствую. :(

Можно поковыряться в настройках иногда помогает.
Konrad_GRAU
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 189 points
1451

Doom Rate: 2.04

Posts quality: +1052
Ссылка на пост №29 Отправлено: 26.12.12 00:05:14
Хорошая работа, поздравляю. Ты говорил можно код улучшить - сделаешь - будет еще лучше. не вижу лично для себя в этом высокого смысла ибо в софте именно палитра меня всегда торкала и перебегание цветов, но все же - браво. если так шаришь - не думал всерьез над собственным гз-портом в блекджеком тенями и шлюхами бампмапами? =) я бы оч порадовался.
3 1
Korshun
= Lance Corporal =
Next rank: - Master Corporal - after 31 points
169

Doom Rate: 3.84

Posts quality: +13
Ссылка на пост №30 Отправлено: 26.12.12 18:30:36
ConradRDW[B0S]:
Ты говорил можно код улучшить - сделаешь - будет еще лучше.

Код уже улучшили разработчики гздума - добавили правильно как отдельный лайтмоуд и улучшили освещение спрайтов динлайтами. Спасибо им за это.


ConradRDW[B0S]:
не думал всерьез над собственным гз-портом в блекджеком тенями и шлюхами бампмапами? я бы оч порадовался.

Честно - да :diatel: . Но слишком рано это обсуждать всерьёз. А если не всерьёз, то я могу рассказать ещё более грандиозные планы :shock: :x. Софтовое освещение в опенгл я делал прежде всего для себя, потому что терпеть не мог вид мап с неправильным освещением, а у софта для меня слишком много недостатков. Когда в гздуме наконец-то появилось правильное освещение, меня уже остальные, гораздо более мелкие недостатки перестали волновать.
1 1 3
theleo_ua
= Colonel =
Next rank: - Commissar - after 90 points
4800

Doom Rate: 1.8

Posts quality: +1032
Ссылка на пост №31 Отправлено: 03.01.19 13:56:34
Я правильно понимаю, что данный лайтмод в heretic, hexen и strife тоже "правильно" освещает сектора? Или в этих играх другие формулы были в ванили?
3 1
Korshun
= Lance Corporal =
Next rank: - Master Corporal - after 31 points
169

Doom Rate: 3.84

Posts quality: +13
Ссылка на пост №32 Отправлено: 03.01.19 19:37:44
Да. В оригинальных Doom, Heretic, Hexen, Strife используется одна и та же формула освещения, только с разными палитрами и колормапами.

Однако в Hexen есть туманные уровни, где заменена колормапа с затемняющей на затуманивающую. То есть низкий уровень освещения = как-бы фуллбрайт сектор, но с сильным туманом. Высокий уровень освещения = мало тумана. Получается, что все сектора фуллбрайт, а уровень освещения задаёт плотность тумана.

Гздум неправильно рисует туман по сравнению с софтом. Гздум рисует поверхность сектора с затемнением по уровню освещения, а поверх неё накладывает туман по стандартной недумовской формуле. Получается, что сектора с плотным туманом обязательно очень тёмные. А в хексене на всей туманной карте обычно один и тот же низкий уровень освещения, в гздуме вся карта выглядит темнее, чем надо. Это, кстати, отностися не только к хексену, но и ко всем затуманенным секторам на здум картах.

Как рисует гздум:


Фуллбрайт сектора + гздум туман:


Чтобы исправить внешний вид затуманенных хексен карт, я добавил в гздум настройку "сделать все затуманенные сектора фуллбрайтными". Но её похоже сломали при добавлении и так и не исправили. Или она не действует на хексен карты. Может стоит напомнить про неё?

Рейтинг сообщения: +1, отметил(и): alekv
1 1 3
lafoxxx [B0S]
= 1st Lieutenant =
Next rank: - Captain - after 58 points
2032

Doom Rate: 1.38

Posts quality: +937
Ссылка на пост №33 Отправлено: 03.01.19 19:46:49
ГЗдум вообще многое делает неправильно. Это самостоятельный движок, "кажущийся" думом. Вот и результат. Но всем пофиг.

В PSX DOOM TC почти невозможно добиться похожего освещения. Я "эмулировал" пятно света вокруг игрока с помощью gl_distfog. Сам сектор освещался при этом равномено.
2 2 4
Korshun
= Lance Corporal =
Next rank: - Master Corporal - after 31 points
169

Doom Rate: 3.84

Posts quality: +13
Ссылка на пост №34 Отправлено: 03.01.19 19:55:20
lafoxxx [B0S] пишет:
ГЗдум вообще многое делает неправильно. Это самостоятельный движок, "кажущийся" думом. Вот и результат. Но всем пофиг.

А что ещё он делает неправильно? И почему он не дум? Вполне себе дум с кучей думовских ограничений и багов, некоторые из которых остались с 1993 года.

lafoxxx [B0S] пишет:
В PSX DOOM TC почти невозможно добиться похожего освещения. Я "эмулировал" пятно света вокруг игрока с помощью gl_distfog. Сам сектор освещался при этом равномено.

Лучше отредактировать пиксельный шейдер в gzdoom.pk3. Тогда можно добиться почти любого освещения.

Рейтинг сообщения: +1, отметил(и): alekv
1 1 3
lafoxxx [B0S]
= 1st Lieutenant =
Next rank: - Captain - after 58 points
2032

Doom Rate: 1.38

Posts quality: +937
Ссылка на пост №35 Отправлено: 03.01.19 20:09:24
Korshun
Я не говорил, что это не дум. Просто он другой -- многие вещи в нём переделаны настолько, что уже мало общего с оригинальным движком он имеет. В конкретику сейчас вдаваться нет возможности. Как пример -- поддержка ванильных демок.

Про пиксельный шейдер -- это то, что на скринах и в шапке как раз показано?

Вообще непонятно, почему разрабы z/gz решили это выкинуть (или изначально этого не было в OpenGL-рендере?), и теперь приходится воссоздавать.
2 2 4
Korshun
= Lance Corporal =
Next rank: - Master Corporal - after 31 points
169

Doom Rate: 3.84

Posts quality: +13
Ссылка на пост №36 Отправлено: 03.01.19 20:21:11
lafoxxx [B0S] пишет:
Я не говорил, что это не дум. Просто он другой -- многие вещи в нём переделаны настолько, что уже мало общего с оригинальным движком он имеет. В конкретику сейчас вдаваться нет возможности. Как пример -- поддержка веильных демок.

Почему нет? Поддержка ванильных демок ломается от малейшего изменения. Она ломается даже между версиями официального дума, не говоря уже о каждой версии гздума. Поддержка совместимости с демками - это значит постоянное тестирование всего кода на ПОЛНОЕ соответствие определённым версиям дума (вот прбум поддерживает многие версии дума, но не может проиграть демки из вада Return to Phobos 1994 года, записанные на хз какой версии официального дума).

Поэтому ломание совместимости с демками совершенно не говорит о том, что движок "имеет мало общего с оригинальным движком", а лишь о том, что разработчики не хотят прилагать большие усилия для сохранения полной совместимости с демками.

lafoxxx [B0S] пишет:
Про пиксельный шейдер -- это то, что на скринах и в шапке как раз показано?

Я сделал освещение как в софте с помощью пиксельного шейдера и необязательных изменений в коде гздума. А на скринах из хексена просто показана разница между фуллбрайтом с туманом (как надо рендерить в опенгл) и тем, как эти уровни рисует гздум.

lafoxxx [B0S] пишет:
Вообще непонятно, почему разрабы z/gz решили это выкинуть (или изначально этого не было в OpenGL-рендере?), и теперь приходится воссоздавать.

Немного не понял, что решили выкинуть?

Рейтинг сообщения: +3, отметил(и): lafoxxx [B0S], alekv, MasterMind
1 1 3
lafoxxx [B0S]
= 1st Lieutenant =
Next rank: - Captain - after 58 points
2032

Doom Rate: 1.38

Posts quality: +937
Ссылка на пост №37 Отправлено: 03.01.19 20:27:13

что решили выкинуть

Правильный ванильный способ освещения из OpenGL-версии.
Иначе зачем его воссоздавать?

В OpenGL есть режим "Software", но он вроде на базе думовского создан, и лишь относительно недавно появился.
2 2 4
Korshun
= Lance Corporal =
Next rank: - Master Corporal - after 31 points
169

Doom Rate: 3.84

Posts quality: +13
Ссылка на пост №38 Отправлено: 03.01.19 20:35:46
Ну я его и сделал.

Раньше видеокарты не поддерживали пиксельные шейдеры, и сделать освещение как в софте было нельзя. И раньше никто особо не задумывался о том, что такое "уровень освещённости" в софтварном рендерере. Просто использовали его чтобы покрасить полигоны в чёрный цвет и готово, потому что перекраска полигонов - стандартная функция любой видеокарты даже в 1995. И никого тонкости несоответствия освещения между софтом и опенгл не волновали, все балдели от "крутой графики" в опенгл версии.

Потом некоторые порты попытались повысить сооветствие софтварному рендереру с помощью изменения цвета полигона в зависимости от уровня освещения не линейно, а по формуле (это, например, и есть разница между режимами освещение Bright и Dark/Doom в гздуме, и между режимами освещения GLBoom и GZDoom в глбуме), а также с помощью наложения чёрного тумана по стандартной недумовской формуле (тоже стандартная функция тогдашних видеокарт). А шейдеры были в новинку, требовали новых видеокарт и тормозили.

Единственные, кто всерьёз стали воссоздавать освещение из софта в опенгл рендерере - разработчики порта EDGE.

Рейтинг сообщения: +3, отметил(и): lafoxxx [B0S], alekv, Void Weaver
1 1 3
lafoxxx [B0S]
= 1st Lieutenant =
Next rank: - Captain - after 58 points
2032

Doom Rate: 1.38

Posts quality: +937
Ссылка на пост №39 Отправлено: 04.01.19 00:35:22
Korshun
Ясно, спасибо за разъяснение!

Приятно, что есть те, кто не оставляет без внимания такие, казалось бы, мелочи. Именно они в совокупности дают "правильный" или "неправильный" с точки зрения аутентичности результат.
2 2 4
theleo_ua
= Colonel =
Next rank: - Commissar - after 90 points
4800

Doom Rate: 1.8

Posts quality: +1032
Ссылка на пост №40 Отправлено: 04.01.19 07:37:35
Korshun пишет:
Чтобы исправить внешний вид затуманенных хексен карт, я добавил в гздум настройку "сделать все затуманенные сектора фуллбрайтными". Но её похоже сломали при добавлении и так и не исправили. Или она не действует на хексен карты. Может стоит напомнить про неё?


Ты про опцию fog forces bullbright или force brigntness in fog? Первая вроде работает (переключая ее вроде как получается эффект твоих двух скринов)

Кинешь скрины, как у тебя рендерится с включенной этой опцией и без?
3 1
Страница 2 из 2Перейти наверх Пред.  1, 2
   Список разделов - Doom и его порты - Софтовое освещение в OpenGL