Dark Engine Viewer

Автор Force, 30 ноября 2019 23:55:27

« назад - далее »

0 Пользователи и 2 гостей просматривают эту тему.

Force

Zontik
ЦитироватьПочему? Разве внутри стены в пределах уровня - это не то же самое?
Я про съемку планов.
Цитироватькакой визуальной логики можно ожидать от типичного noclip?
Такой, какая есть сейчас - рисовать всё что видишь. Правила не меняются, поэтому мозгу легче понять смысл происходящего. Лично мне очень неудобен подход в DromEd'е: стоит влететь в стену - у тебя черный экран. Там понятно почему так сделано - из-за алгоритмов определения видимых поверхностей, если мы вышли за пределы любых порталов - ничего не видим. Но тут подход другой, поэтому, можно воспользоваться его преимуществами.

Force

#211
Решил сделать тестирование открытым. Вот новая версия просмотрщика, свежак! :aaa:

http://forcesw.com/DarkEngineViewer_068_RC2.zip

Описание изменений добавлю чуть позже. А пока вы можете сами потыкать, поизучать, поделиться впечатлениями.

Обо всех найденный проблемах и пожеланиях можете писать прямо сюда, или мне на почту.

UPD:
Исправил ссылку

Ollibony

Цитата: Zontik от 20 сентября 2022 08:40:34
Скрин вообще немного странноватый. Между комнатами видна брусчатка, да еще почему-то с тенями. Ощущение - будто это два разных дома, но куда подевались их внешние стены?
Думаю, это просто издержки отображения. На самом деле брусчатка внизу, может, и есть (смотря как автор построил), но уж точно на ней не должно быть теней. Не может быть движок настолько плохо оптимизирован, чтобы просчитывать тени и под зданиями в том числе.
Да нет, ничего странного здесь нет, просто ракурс непривычный :) Вот я сделал скриншот того же места, но немного поменял наклон камеры:
https://disk.yandex.ru/i/UR4b7QH8KKFvpw

Брусчатка, которую мы видим, находится не под стеной, и не под зданием, это брусчатка пола нижнего этажа. Непосредственно под стеной ничего нет, чёрный провал.

Цитата: Force от 20 сентября 2022 10:19:30
Сложности возникнут, как и писал Soul_Tear, из-за того, что поверхности могут быть расположены на разной высоте и тогда получится каша. Впрочем, если очень хочется заморочиться - можно будет наделать скришнотов в разных сечениях, а потом склеить их в пэинте. ;)
С этим абсолютно согласен :)

Force

#213
Накидал краткий список изменений :biggrin:.

- Добавлена поддержка физической симуляции на основе движка Bullet Physics. Добавлен режим перемещения по уровню, прыжки, бег, открывание дверей, взаимодействие с простыми (бочки, ящики, посуда и т.п.) и анимированными объектами (кнопки, сундуки, переключатели и т.п.). Все объекты получают свои физические свойства из файлов геймсиса и миссии (трение, прыгучесть, неподвижность и пр.). Нулевые значения заменяются некоторыми дефолтными величинами (чтобы объекты не скользили как по льду). Все персонажи снабжаются приблизительным антропоморфным рэг-доллом (да, даже буррики ;) ), теперь их можно весело сбрасывать откуда-нибудь :D. Пока не учитываются связи объектов, поэтому активировать можно только те объекты, которые подсвечиваются. Брать предметы пока нельзя. Работы ещё ведутся и многие аспекты будут улучшаться. Впрочем, кому не нужен этот функционал, могут отключить вывод кнопки запуска симуляции в настройках.

- Доработана система обновления информации об объектах миссии (тени будут обновляться при перемещении объектов, объекты перемещаются между ячейками миссии и рисуются только если ячейка видна).

- Отрефакторена система вывода отладочной информации. Нужна она в основном только при разработке, поэтому системы управления ей пока нет. Сейчас она выводит ячейки миссии и объемы источников света, в которых находится камера. Включается/отключается клавишей G.

- Кстати, не забывайте об экране помощи F1, там можно посмотреть все необходимые клавиши управления ;).

- Для полноэкранного режима теперь можно задать своё разрешение в конфиге.

- Многочисленные оптимизации, направленные на ускорение отрисовки и загрузки ресурсов

- Доработан плеер анимаций, теперь его можно включить для объектов с внутренними анимациями при наличии. Все анимации можно воспроизвести по отдельности или одновременно.

- Доработано освещение в миссиях. Оно теперь больше похоже на оное из Dark Engine, только динамическое ;). Многие параметры источников света, включая их радиусы, можно настраивать через конфиг. Добавлены как реалистичные "мягкие тени", так и тени с постоянным коэффициентом смягчения. По умолчанию используется режим "constant", можно регулировать степень смягчения, получив освещение, сходное с Dark Engine. Либо отключить опцию UseConstantPenumbra и посмотреть на чуть более физически корректный результат, но, к сожалению, в этом режиме возможны артефакты. В целом, картинка стала приятнее.

- Добавлено аппаратное отсечение перекрываемой геометрии. При возникновении проблем, эту функцию можно отключить в конфиге.

- Добавлена возможность снимать скриншоты клавишей F10.

- Теперь в конфиге сохраняется путь к последнему открытому файлу. При следующем запуске программы, откроется этот файл. Если такое поведение не желательно - это так же можно отключить в настройках.

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

- Это последний выпуск актуальной legacy-версии. В дальнейшем она больше поддерживаться не будет по причине отсутствия пользователей и сложности поддержки её функционала.

- Исправлены многочисленные недочеты, ошибки и баги. Куда ж без этого :)?

Рекомендуется к запуску x64-версия программы. Данная версия - кандидат в релиз. Если ошибок обнаружено не будет - пойдёт в релиз.

Просьба сообщать обо всех найденных проблемах сюда или на почту. Делитесь предложениями и скриншотами ;)!

Zontik

Впечатляющий список.
Дайте глазам отдохнуть! Тёмное место

Force

Цитата: Zontik от 21 сентября 2022 08:13:01
Впечатляющий список.
Да, за год много изменений набежало, пришлось подсократить :biggrin:.

Ollibony

Мои такие впечатления от новой версии:
:) Тени стали выглядеть в целом лучше (в режиме мягких теней), но при приближении видна какая-то странная зернистость.
:) Включение опции SSAO стало улучшать картинку. В предыдущей версии при её включении отображался какой-то мусор.
:( Рендеринг стал работать ощутимо медленнее. В режиме симуляции частота кадров местами проседает до 1 fps. В режиме Free Camera получше, но всё равно медленнее, чем было.

Ну, машинка у меня не самая шустрая, конечно: Intel Core i3-6100U со встроенной графикой.

Force

Отлично! Первый публичный отзыв о новой версии! :yay:

Ollibony, прими мою искреннюю благодарность и поздравления!

ЦитироватьТени стали выглядеть в целом лучше (в режиме мягких теней), но при приближении видна какая-то странная зернистость.
Зернистость можно уменьшить, увеличив параметр SoftShadowsSamplesCount до, например, 20. Но вместе с этим возрастут и тормоза, особенно это станет заметно как раз на встроенных видеокартах. Поэтому подбирать значение придется индивидуально.

ЦитироватьВключение опции SSAO стало улучшать картинку. В предыдущей версии при её включении отображался какой-то мусор.
Да, это особенность интеловских встроек, пофиксил случайно совсем недавно :up:.

ЦитироватьРендеринг стал работать ощутимо медленнее. В режиме симуляции частота кадров местами проседает до 1 fps. В режиме Free Camera получше, но всё равно медленнее, чем было.
Да, в симуляции, особенно вначале, когда куча объектов двигается одновременно, это вынуждает многие тени видимых источников света перестраиваться. Отсюда кратное торможение. Как быстрый "хак-костыль" могу посоветовать отключать тени или освещение перед первоначальным включением симуляции на миссии, и включать только когда "всё уляжется" :). К сожалению на медленных видеокартах в текущей версии решения будут не красивыми - это либо отключать мягкость теней, либо уменьшать количество сэмплов, хотя, ты и так жаловался, что их мало. Есть ещё один вариант - уменьшить радиусы источников света параметром LightRadiusCoefficient. Он изменяется от 0 до 1. При 0 источники становятся куцыми, как в Thief 3, но зато меньше пересечений с объектами, меньше перестроек теней => меньше тормозов. В следующем релизе (не знаю, как скоро он состоится) планируется замена этого устаревшего рендерера на новый, суперскоростной, основанный на стриминге. Там планируется вообще одна сплошная крутизна и по скорости, и по качеству картинки, и по объемам занимаемой памяти :). Так что ждём ;).

Force

Добавил параметр UseConstantPenumbra, включенный по умолчанию, и коэффициент для него - ConstantPenumbraCoefficient. Делает тени мягкими по всей длине с одинаковой степенью размытия. Да, это нереалистично, но как результат - меньше шумов и специфических артефактов, да и в большинстве игровых проектов до-rtx-эпохи именно так и размывали тени.

Если параметр UseConstantPenumbra отключить, можно вернуться к прежнему режиму. Пишите, какой вариант вам больше нравится.

Билд можно скачать заново по прежней ссылке:

http://forcesw.com/DarkEngineViewer_068_RC2.zip

Force

Немного переиграл. Алгоритм размытия теней в зависимости от расстояния теперь выдает чуть меньше артефактов, он сейчас возвращен по умолчанию.

Новая версия доступна по прежней ссылке:

http://forcesw.com/DarkEngineViewer_068_RC2.zip

Ollibony

С настройками по-умолчанию тени выглядят в целом адекватнее, но в некоторых местах довольно странно, например, на этой лестнице:
https://disk.yandex.ru/i/pWt8x3fk1LihVw

Чтобы сгладить этот эффект, пришлось задать такие настройки:

  UseConstantPenumbra 1
  ConstantPenumbraCoefficient 0.7

После этого лестница стала выглядеть так:
https://disk.yandex.ru/i/7RKCryPrdNvORQ

Однако, это ухудшило другие тени. Например, вот здесь тень от стола превратилась во что-то бесформенное:
https://disk.yandex.ru/i/tmxnFXqkminX6w

Для сравнения, с настройками по-умолчанию эта тень выглядит так:
https://disk.yandex.ru/i/i2vfsvLdymtw2g

Force

Ollibony
Да, к сожалению, на данном этапе это неустранимая проблема. Идеи есть, но и их реализация довольно трудоемка и сам метод сильно ресурсо-затратный. Поэкспериментирую, но в ближайшие ревизии вряд ли это попадет. Могу сказать что увеличение разрешения может частично решить проблему пикселизации, но возрастает риск падений программы из-за нехватки видеопамяти. Проблему высветления тени в тех местах, где этого быть не должно увеличение разрешения не исправит.

В ближайшие релизы планирую чуть ускорить обработку мягкости теней.

Спасибо за отзывы!

Force

#222
Ollibony
А, слушай! Кажется я ещё немного улучшил их и теперь они выглядят не так вырвиглазно! :up: Тени становятся прям прекрасны безо всякого RTX и работают на встройках интела! :biggrin:

Улучшенная версия доступна по прежней ссылке:

http://forcesw.com/DarkEngineViewer_068_RC2.zip

Можешь еще увеличить разрешение теней, чтобы убавить пиксельность. Напомню, что ещё пиксельность теней можно уменьшить, сократив их радиусы коэффициентом LightRadiusCoefficient например 0.75. Радиус уменьшается, следовательно на площадь шэдоумапы приходится меньше пространства уровня.

Ollibony

Force
Это просто лайв-кодинг какой-то  ;D

Да, стало чуть получше, спасибо!

Ещё лучше картинка становится с такими значениями:
  ShadowResolution 1024
  SoftShadowsSamplesCount 48


Но производительность падает, конечно, существенно.

Уменьшение LightRadiusCoefficient тоже помогает, но становится как-то скучно :)

Force

Сделал, пожалуй, заключительное улучшение теней - добавил "ранний выход" при их сглаживании. Регулируется настройкой SoftShadowsEarlyOutSamplesCount. По умолчанию стоит значение 8, можно поставить и меньше, но тогда на полутенях лезет шум. Поэтому рекомендую оставить как есть или увеличить, если где-то шумов с этой настройкой слишком много (кстати, сообщите, если где-то увидите такое место). Для отключения нужно выставить 0, тогда будут обработаны все сэмплы из настройки SoftShadowsSamplesCount. Теперь можно увеличить большее количество сэмплов для полутеней (что и было сделано, по умолчанию теперь 16, а не 12 или даже 6 в первой версии RC2).

Так же отрефакторил шейдер и потвикал всякие параметры для улучшения соотношения производительности к качеству картинки.

Улучшенная версия доступна по прежней ссылке:

http://forcesw.com/DarkEngineViewer_068_RC2.zip