#1721
21 декабря 2024 в 13:37
Detailed bumpMap выпилил, когда систему материалов пересматривал.
Почему выпилил, сейчас не помню. Если фича нужная, то подумаю как встроить в текущую систему.
Почему выпилил, сейчас не помню. Если фича нужная, то подумаю как встроить в текущую систему.
#1722
21 декабря 2024 в 16:44
Берсеркер, а для вольфа есть что-то новое?
#1723
21 декабря 2024 в 18:43
пока нет, сперва ку3 двиган доработать, затем порт на вольф
#1724
28 февраля 2025 в 14:36
Приветствую
Можно ли получить документацию на последний билд движка (который от сентября 24 года , х64) судя по всему много что поменялось. В частности интересует как минимум описание работы с текстурами и какая в редакторе лайтов заменяет достататочно важный параметр /nospecularlight (раньше он был, щас пишет нот фаунд, нужен этот параметр для создания рассеянного освещения, которому ранее присваивались параметры /nospecularlight и /noshadowlight, чтобы не бликовало, не отбрасывало тени)
Ну и вообще в целом хотелось бы узнать что нового.
Можно ли получить документацию на последний билд движка (который от сентября 24 года , х64) судя по всему много что поменялось. В частности интересует как минимум описание работы с текстурами и какая в редакторе лайтов заменяет достататочно важный параметр /nospecularlight (раньше он был, щас пишет нот фаунд, нужен этот параметр для создания рассеянного освещения, которому ранее присваивались параметры /nospecularlight и /noshadowlight, чтобы не бликовало, не отбрасывало тени)
Ну и вообще в целом хотелось бы узнать что нового.
#1725
02 марта 2025 в 14:48
Привет.
Убрал ключ nospecularlight, так как выпилил старую схему освещения в стиле Doom3.
Теперь одна схема - PBR, физически корректный рендеринг.
Формат текстур такой:
diamond2@d.tga - lдиффузная текстура, отличается от diamond2.tga тем, что не должна иметь ничего лишнего, например микротеней, бликов.
diamond2@n.tga - карта нормалей, в альфа-канале карта высот для параллакса.
diamond2@p.tga - PBR текстура:
Red = metallic
Green = ambient occlusion
Blue = roughness
Документации нет, могу только выложить заметки что сделано (читать снизу вверх):
Убрал ключ nospecularlight, так как выпилил старую схему освещения в стиле Doom3.
Теперь одна схема - PBR, физически корректный рендеринг.
Формат текстур такой:
diamond2@d.tga - lдиффузная текстура, отличается от diamond2.tga тем, что не должна иметь ничего лишнего, например микротеней, бликов.
diamond2@n.tga - карта нормалей, в альфа-канале карта высот для параллакса.
diamond2@p.tga - PBR текстура:
Red = metallic
Green = ambient occlusion
Blue = roughness
Документации нет, могу только выложить заметки что сделано (читать снизу вверх):
- Новый параметр стейджа: tcTurb2 speed (def = 1.0) amplitude (def = 1.0) - включает попиксельную модификацию текстурных координат в альтернативном стиле, больше подходит к тяжелым жидкостям типа лавы. Не работает для стейджей лайтмапов!
- levelshot делает шот размером 512x512, было 128x128
- Новый параметр стейджа: tcTurb speed (def = 1.0) amplitude (def = 1.0) - включает попиксельную модификацию текстурных координат в стиле жидкостей Quake. Не работает для стейджей лайтмапов!
- Токен стейджей tcTurb следует ставить ДО операторов загрузки текстур (map, clampmap, pbrmap и т.д.), чтобы можно было оверрайдить только данную текстуру, но не весь материал!
- новый цвар r_shadowFilter (def = 1, arch) - качество фильтрации теней солнечного света: 0 - PCF4x4, 1 - PCF6x6. При 0 - теоретически более быстрый, но и четче. При 1 - качественнее, но и сглаживает мелкие детали.
!!! не забывать добавлять в папку scripts рендер-скрипты, появившиеся в materials, но работающие также в ppl = 0 (как был конфуз с каплями дождя!)
- новый цвар r_seriousShadows (def = 0, arch) при (от 0 до 1, а неплохое значение 0.6) включает солнечным теням резкие границы, в стиле Serious Engine (Serious Sam HD, Serious Sam 4, Talos Principle).
- из-за смены формулы PBR, чтобы вернуть яркость обратно, изменены дефолтные значения цваров:
r_ambientScale 0.3
r_lightScale 16
r_sunLightScale 32
удалил detailed bumpMapping, чтобы освободить альфа-канал карт нормалей под высоты для POM. Детализированные текстуры добавлю в будущем.
удалил r_blurMapQuality - сглаживание блуров, быстрый способ гавняно выглядит на зеркале q3dm0
удалил кэш текстур, современное железо и так быстро грузит, так что можно сэкономить 2-3 гига на диске
удалил цвары r_imageCache, r_texture_compression_bptc, r_texture_compression_s3tc, r_colorMipLevels, r_debugImages вернул r_roundImagesDown
обязательное требование к видеосистеме - поддержка сжатия текстур DXT и BPTC!
удалил swizzle
удалил r_parallaxScale
загрузка DDS текстур в приоритете (но не для текстур, используемых в image functions!!!)
удалил параметр стейджа материала и параметр материала: noParallax - нет в нём смысла, так как тогда можно просто применить карту нормалей без альфа-канала!
Bindless Textures
EXT_direct_state_access (для загрузки и изменения VBO/IBO, для загрузки текстур, юниформов) + TextureStorage (для экранных текстур и шмапов)
скорректировал код отображения видео-роликов в меню (не в игре), чтобы не искажались размеры видео. Но в стерео-режиме анаморф стерео-пара рисуется видео в полные полу-экраны!
в меню в игре LEAVE ARENA добавил запрос подтверждения выхода из игры ))
удалил debug-graph, удалил цвары: cl_debuggraph, cl_timegraph, cl_graphheight, cl_graphscale, cl_graphshift, cl_debugMove
обязательное требование к материалам - не использовать в image-functions DDS-текстуры!!! Они - только для загрузки напрямую!
Билинейное сглаживание теней солнечного света.
Новый код в шейдере для устранения артефакта sun light leaking.
новый цвар r_sunLightLeaks, не хранимый, по умолчанию 0. При 0 в шейдере работает код устранения артефакта light leaking для солнечного света. При 1 видны просветы солнечного света.
dof: убрал кучу трейсов, оставил один центральный (ибо чтение глубин на решетках дает мельтешение) + 4 чтения глубин около центра экрана.
Удалил параметр r_dofProbeSize.
!!
- теперь из dds текстура грузится вне зависимости, разрешена ли компрессия текстур.
- если r_ppl = 0, тогда материалы грузятся из папки scripts, а папка materials игнорируется. Это сохраняет старый вид игры для ванильного рендера.
- убрал из карт PBR эмиссию, теперь формат такой: RGB = Metallic, AO, Roughness.
- поменял формулу PBR (вроде верно, но блин темнее стало) ???
- в SSLR изменил SCREEN_FALLOFF с 6 на 3 - отражение стало мягче затухать!
- в шейдере блума ограничил силу сияния
- удалил r_lightMapBrightness (оно работало только для r_ppl = 1 и особо не нужно было)
- lit-файлы релайта теперь сохраняются в папке maps/<mapname>/<map_checksum>.lit
- загрузчик BSP теперь в консоли пишет чек-сумму карты, например: ...loading q3dm0, checksum F01AC5E4
- загрузчик BSP теперь сперва ищет lit-файл по пути maps/<mapname>/<map_checksum>.lit, а если не находит, то ищет по старому, традиционному пути: maps/<mapname>.lit
Это для того, чтобы ошибочно не грузились релайты от модифицированных карт. Кстати, в папке maps/<mapname>/ также могут лежать dm_????.tga и lm_????.tga (внешние делюкс- и лайт-мапы), так что всё логично.
- цвар "r_dof" по умолчанию сделал 0, так как этот кинематографический эффект мешает в бою.
- выпиздил насовсем устаревшую модель освещения - specular, которая использовалась в Doom3. Используется только современная модель освещения PBR.
- соответственно выпилены:
из материалов, токены: "specularMap", "clampSpecularMap", "animSpecularMap", "noSpecular"
из цваров: "r_shadowMapParallax", "r_noSpecular", "r_diffuse_modifier", "r_specular_modifier"
из команд редактора: "specularlight", "nospecularlight"
- фикс редактора: selectnearestmodel и selectnearestamodel - теперь игнорируют игровые предметы (нет смысла к ним лепить свет, а также предметы эти не уникальны). Видят браш-модели и map-модели (например в q3dm0 - за зеркалом пара моделей крутится в шкафчиках)
- вернул md3 моделям лоды, вернул цвары r_lodbias, r_lodscale.
- Тени от солнечного света теперь рисуются только от бэк-фейсов - так избавился от самозатенения, убрал костыли борьбы с ним, тени стали мягкие. Также сделал переходы между каскадами мягче. Артефакт light bleeding почти устранен.
- удалил команду Редактора "cullBackFaces", убрал параметр лайт-ентити "noCullBackFaces".
- аккуратнее работа с окном игры.
- более аккуратный фикс для шотов и видео для режимов типа 1366.
- Взял zone-менеджер из Quake3e, так как старый менеджер не мог увеличить zone-память через com_zoneMegs.
- Удалил параметр r_debugSurface.
- Переименовал параметр r_anisotropic в r_anisotropy.
- Применяю высокоточный SleepShort для спячки CPU и сжатия видео.
- удалил цвар cl_aviMJpeg, так как запись несжатого видео не имеет никаких плюсов перед кодеком mjpeg.
- cl_aviScale (def=0, arch) - валидные значения от 0 до 1. Имеет приоритет над cl_aviWidth и cl_aviHeight, позволяя уменьшить разрешение видео задав просто одно значение.
- вернул cl_aviWidth и cl_aviHeight (def = 0) - разрешение видео. При нулях - видео размером экрана. Таким образом, тоже уменьшить разрешение видео, если процессор не вывозит запись игры.
- удалил cl_aviMotionJpeg, теперь пишет всегда в MJpeg
- NOTE: разрешено писать avi во время игры (а не только демо), но будьте уверены, что мощности CPU хватает чтобы успевать сжимать кадры с нужным разрешением и fps! Иначе получите видео с ускоренным движением. В ку1берс этого ограничения нет, там можно замедлять игрока.
- при прекращении записи видео, звуковая система перезапускается, кроме саунд-треков (музыка прекращает играть).
- при записи AVI запрещаю сворачивать окно, а также звук не пропадает.
- синхронизация видео и аудио кадров при записи AVI
- cl_aviFrameRate def=60
- удалил cl_aviBackgroundCompressor, всегда используем все разрешенные потоки.
- удалил команду videoforce, так как уже не актуальна.
- допилил запись видео в многопотоке. Можно писать даже в игре.
- cl_aviJpegQuality def = 80 компактнее, и качество на уровне
- kill cvars cl_aviWidth & cl_aviHeight
- убрал баг со скай-боксом: были видны границы граней. Просто запретил mipmap.
- кэширование компилированных GLSL программ
- удалил цвары r_glslIntPrecision и r_glslFloatPrecision, так как управление точностью работает только в OpenGL ES.
- добавил OpenAL (... описать команды и цвары ...)
- sysinfo команда - объединение gfxinfo, vidinfo, s_info + прочая инфа.
- добавил тред-менеджер + первая функция для него: сжатие и запись скриншотов в формате jpeg
- удалил r_glCompatibleContext, теперь всегда Core profile для скорости
- удалил r_glCoreProfile, теперь всегда должен работать GL3+
- r_glMajorVersion def=3, r_glMinorVersion=2
- r_glCompatibility def=0
- MessageBox в полноэкранном режиме вызовет скрытие окна игры, чтобы было видно сообщение об ошибке.
- любые крэши в коде перехватываются и отображаются в UI.
- r_jpegQuality def = 80 компактнее, и качество на уровне
- удалил screenshotPNG (так как пока не нашел х64 кода SavePNG)
- удалил всё связанное с гаммой, так как будет рулиться через GLSL:
r_ignorehwgamma
WG_CheckHardwareGamma
GLimp_SetGamma
#1726
02 марта 2025 в 21:11
Благодарю за чейнджлог!
DDS BC7 в итоге добавили поддержку?
И вот еще все таки очень хотелось бы в будущем , если получиться придумать какой то хак для высветления теней. Потому что щас извраты жесткие приходиться делать для растворения псевдорассеяным источником\источниками света. А солнце зачастую вообще не возможно развернуть корректно, чтобы тени в другую сторону отбрасывались.
НУ в любом случае начал полноценный релайт карт, по схеме БЕЗ r_ambientScale, только новые лайты. Стараюсь оптимизировать, где то вырубать тени, где не надо. Но вот с учетом отсутствия варианта выключить глосс, это конечно даст доп нагрузку на систему. Хотя по идее на моем обновленном конфиге с видяхой rx7700xt вроде тянет, лок стоит на 125 фпс, просадок вроде нет пока. Но я еще не дошел до финальных мап, которые больше по размеру чем начальные, посмотрим как там будет. Да и текстурки пока не подкидывал свои всратые, ибо один фиг все переделывать. Из открытых источников по крайней мере раньше вообще не публиковались PBR карты , именно как одна карта с 3 разными типами глосса (метал, спекуляр и что то там еще). Надо будет поискать.
И кстати раздражает вроде все носятся щас с нейросетями, но они настолько щас всратые, что не могу даже попытаться воссоздать картинку на основе референса, так бы можно было бы воссоздать в нормальном качестве текстурки очень близкие к оригиналу , в нормальных взрослых разрешениях а-ля 2к или 4к.
Ну будем смотреть в общем, если будут вопросы, напишу.
DDS BC7 в итоге добавили поддержку?
И вот еще все таки очень хотелось бы в будущем , если получиться придумать какой то хак для высветления теней. Потому что щас извраты жесткие приходиться делать для растворения псевдорассеяным источником\источниками света. А солнце зачастую вообще не возможно развернуть корректно, чтобы тени в другую сторону отбрасывались.
НУ в любом случае начал полноценный релайт карт, по схеме БЕЗ r_ambientScale, только новые лайты. Стараюсь оптимизировать, где то вырубать тени, где не надо. Но вот с учетом отсутствия варианта выключить глосс, это конечно даст доп нагрузку на систему. Хотя по идее на моем обновленном конфиге с видяхой rx7700xt вроде тянет, лок стоит на 125 фпс, просадок вроде нет пока. Но я еще не дошел до финальных мап, которые больше по размеру чем начальные, посмотрим как там будет. Да и текстурки пока не подкидывал свои всратые, ибо один фиг все переделывать. Из открытых источников по крайней мере раньше вообще не публиковались PBR карты , именно как одна карта с 3 разными типами глосса (метал, спекуляр и что то там еще). Надо будет поискать.
И кстати раздражает вроде все носятся щас с нейросетями, но они настолько щас всратые, что не могу даже попытаться воссоздать картинку на основе референса, так бы можно было бы воссоздать в нормальном качестве текстурки очень близкие к оригиналу , в нормальных взрослых разрешениях а-ля 2к или 4к.
Ну будем смотреть в общем, если будут вопросы, напишу.
#1727
02 марта 2025 в 21:15
Да, BC7 поддерживается.
Выкладывайте сюда свои наработки, думаю, не мне одному будет это интересно.
И отлично, что есть Radeon для тестирования.
Выкладывайте сюда свои наработки, думаю, не мне одному будет это интересно.
И отлично, что есть Radeon для тестирования.
#1728
02 марта 2025 в 23:04
Пожалуйста
https://drive.google.com/file/d/17BHdb1GD56y3XpJEUGF_JBwSyj7ob2jc/view?usp=sharing
тут 6 карт релайт, плюс приложил свой конфиг, чтобы выглядело как у меня. Там посмотрите какие параметры связанные с изображением включены-выключены.
И обязательно занулите параметр /r_ambientscale. Чтобы выключить запеченное освещение, дизайнилось именно без дефолтной запеченки.
Я по мере сил буду дальше продолжать.
https://drive.google.com/file/d/17BHdb1GD56y3XpJEUGF_JBwSyj7ob2jc/view?usp=sharing
тут 6 карт релайт, плюс приложил свой конфиг, чтобы выглядело как у меня. Там посмотрите какие параметры связанные с изображением включены-выключены.
И обязательно занулите параметр /r_ambientscale. Чтобы выключить запеченное освещение, дизайнилось именно без дефолтной запеченки.
Я по мере сил буду дальше продолжать.
#1730
04 марта 2025 в 01:20
https://drive.google.com/file/d/1E2FGq5xSm9s4o-HG9NlUWjKywqIfDOe9/view?usp=sharing
Проверил, теперь есть доступ.
Добавил еще одну мапу. Пока 7 получается.
Проверил, теперь есть доступ.
Добавил еще одну мапу. Пока 7 получается.