Автор Тема: Dark Engine Viewer  (Прочитано 5172 раз)

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

Онлайн Force

  • Хранители
  • Тень
  • Сообщений: 9089
Dark Engine Viewer
« : 30 Ноября 2019 23:55:27 »
Программа-просмотрщик ресурсов движка Dark Engine.
Не требует установки и предварительной настройки. Может размещаться в любом удобном месте системы. Поддерживает OpenGL 3.2 (есть режим совместимости с OpenGL 2.1), а значит, может работать даже на старых компьютерах, на системах Windows и Linux.



Где скачать
Ссылки на скачивание всегда будут доступны:
— на моём сайте forcesw.com
— в этой теме форума
— на форуме TTLG (eng)

Актуальная сборка:
Thief 2: The Metal Age 20th Anniversary build 2020‒04−06 14:30 MSK (UTC+3:00)

Неактуальные сборки:
Thief: The Dark Project 21th Anniversary build 2019‒11−30 23:55 MSK (UTC+3:00)
Thief: The Dark Project 20th Anniversary build 2018‒11−30 12:58 MSK (UTC+3:00)


Последние изменения
Цитировать
2020‒04−06 14:30 MSK (UTC+3:00) Thief 2: The Metal Age 20th Anniversary Build
+ исправлено отображение имен файлов и каталогов в списке навигации, они больше не переносятся на новую строку.
+ для режима LEGACY HARDWARE теперь требуется версия OpenGL 1.0 вместо 2.1. Но работа в этом режиме не тестировалась. Буду благодарен за отклик.
+ добавлено отображение свечения объектов, имеющих свойство Self Illumination.
+ добавлена поддержка свойства Anim Light. В некоторых режимах оно влияет на Self Illumination объектов. Полноценная анимация этого свойства пока не реализована, применяется только начальное состояние.
+ добавлена поддержка языков, прописанных в dark config файле. Ресурсы будут искаться в соответствующих подкаталогах по приоритету, указанному в darkinst.cfg или install.cfg.

2020‒03−28 13:00 MSK (UTC+3:00) Thief 2: The Metal Age 20th Anniversary Build
+ улучшен механизм определения каталогов с ресурсами игры. Теперь миссия, расположенная внутри любой директории игры, легко находит путь к ресурсам.
+ улучшен механизм поиска текстур для моделей. Добавлена поддержка вложенных каталогов по названию языка (правда, пока ищется только "english").
+ добавлена поддержка замещаемых текстур, описываемых параметром TxtRepl r*, где * - номер текстуры [0, 3].
+ увеличен максимальный лимит экспозиции (для повышения яркости клавишами + и -).
+ теперь в миссиях Thief 1 отображаются высокополигональные модели (при наличии).
+ добавлена поддержка открытия программы в нужном каталоге через передачу параметра в командной строке или перетаскиванием каталога на окно программы.

2020‒03−23 01:50 MSK (UTC+3:00) Thief 2: The Metal Age 20th Anniversary Build
+ добавлено отображение моделей персонажей (выражается благодарность Juliusz Kaczmarek aka PinkDot и Randy Sybel aka Shadowspawn).
+ затухание в шейдере переключено на квадратичное. Теперь свет затухает по законам физики, но от этого стало темнее.
+ клавишами "+" и "-" теперь можно менять яркость изображения в режиме свободной камеры.
+ исправлено наследование свойств объектной иерархии.

2020-03-06 14:00 MSK
+ уменьшен радиус SSAO и соответственно, bent normals. Последние теперь включены в финальную картинку, отчего она выглядит немного зашумленной. Отключить вклад SSAO и bent normals можно клавишей k.
+ увеличено значение FOV c 50 до ~74 градусов по вертикали, что соответствует FOV New Dark Engine.
+ переработано взаимодействие с объетной иерархией. Считываются свойства Render Type и Self Illumination, это позволило не рисовать лишние объекты миссии и исправило отображение теней от светильников.
+ исправлено смещение полигонов для обратного буфера глубины. Это предотвращает мельтешение теней (артефакты) при повороте или перемещении камеры.

2020-02-26 20:00 MSK
+ добавлена поддержка миссий формата New Dark Engine! Ура! Особая благодарность выражается Juliusz Kaczmarek aka PinkDot!
+ незначительно ускорена загрузка миссий
+ при открытии миссии, камера позиционируется в стартовой позиции
+ класс цвета переделан на хранение данных в векторе с плавающей точкой, это обеспечивает лучшую точность
+ отключено "залипание клавиш", для предотвращения накопления смещений камеры при управлении интерфейсом
+ увеличена яркость режима просмотра миссий

2020-02-17 23:00 MSK
+ добавлена поддержка цветных полигонов в моделях
+ исправлено отсечение пути к текстурам, находящимся в одном подкаталоге с открытой моделью (информация о текстурах, отображаемая на экране)
+ различные внутренние оптимизации

2020-02-05 23:30 MSK
+ исправлено отображение некоторых проблемных моделей, состоящих из нескольких костей

2020-01-14 15:00 MSK
+ исправлено отображение уровней на видеокартах AMD
+ отрефакторен рекурсивный обход BSP-дерева при открытии моделей, убрана рекурсия
+ исправлено падение программы при открытии некоторых старых или поврежденных моделей
+ откорректирована простановка доступных для выборки mipmap-уровней текстур
+ добавлена отладочная схема отрисовки

2020-01-04 00:55 MSK
+ исправлена ошибка вращения объекта сразу после его открытия, без предварительного движения мышью
+ исправлена ориентация некоторых объектов в миссиях, связанная с особенностью указания ориентации кватернионов в библиотеке GLM
+ исправлено построение AABB и OBB для объектов и их костей
+ шейдеры теперь умеют принимать на вход массивы данных
+ добавлена заготовка схемы отрисовки для дебажного вывода bounding boxes

2019-12-18 23:30 MSK
+ пути к ресурсам игры удаляются из программы, если мы выходим из каталога игры (чтобы ресурсы разных игр не перемешивались при загрузке)
+ исправлено падение программы при клике или скролле на странице ошибки при первом запуске
+ окно программы при запуске располагается по центру экрана
+ исправлено поведение клавиши PgUp, перематывающей список в самый конец, при нажатии в верхней части списка

2019-12-11 16:00 MSK
+ исправлена ошибка компиляции шейдера depth_tree на картах AMD
+ расширено логирование при ошибках поиска текстур для упрощения анализа логов

2019-12-10 15:00 MSK
+ исправлена распаковка нормалей моделей, теперь все объекты корректно освещаются источниками света

2019-12-06 15:00 MSK
+ закрытие дескриптора архива после выхода из него средствами интерфейса


Как запускать
Простой способ: запустить из папки, в которую была распакована программа, и при помощи интерфейса открыть каталог с нужным файлом модели или миссии на диске.

Продвинутый способ: программа принимает на вход путь открываемого ресурса, будь то объект или миссия. Таким образом открыть нужный файл можно четырьмя способами:
— из командной строки, указав путь к открываемому файлу, например так:
dark_engine_viewer_x64.exe "D:\Games\Thief 2 — The Metal Age\MISS13.MIS"— перетаскиванием файла на значок программы;
— перетаскиванием файла на открытое окно программы;
— созданием ассоциации расширений файлов моделей и миссий (BIN и MIS) с просмотрщиком и открыванием их двойным кликом прямо из Проводника.


Запуск на Linux и устаревшем оборудовании
Для старых видеокарт, не поддерживающих OpenGL 3, сделана специальная версия — LEGACY HARDWARE. Её функционал сильно ограничен, но пользоваться основными функциями просмотрщика она позволяет. Для её запуска используйте исполняемый файл dark_engine_viewer_legacy.exe.

Кроме того, есть и linux-сборка просмотрщика: dark_engine_viewer_x64. В настоящее время она работает в режиме LEGACY HARDWARE и так же весьма ограничена в плане графических возможностей, но в отличие от legacy-версии, со временем станет полнофункциональной.


Как пользоваться
Всё должно быть интуитивно понятно: интерфейс просмотра файлов прокручивается колесиком мыши, модели открываются по клику, перелистывание моделей «предыдущая/следующая» осуществляется стрелками клавиатуры, PgUp, PgDn, Home и End. Открытую модель можно приближать или отдалять от камеры колесиком мыши, вращать левой кнопкой мыши, перетаскивать — правой.

При открытии миссии, в правом верхнем углу программы появляется кнопка «Free camera mode», нажав на которую программа переходит в режим «свободного полета», управление в этом режиме осуществляется следующими клавишами:
WASD и стрелки — перемещение камеры, мышь — вращение по осям x и y
C — перемещение камеры вниз
SPACE — перемещение камеры вверх
SHIFT + клавиша перемещения — ускоренное перемещение
ESC — отображение интерфейса
ALT + ENTER — полноэкранный режим (HD Ready — 720p)
+/- — увеличение/уменьшение яркости
I — вкл/выкл освещение
K — вкл/выкл SSAO
O — вкл/выкл тени
P — вкл/выкл parallax occlusion mapping (выкл по умолчанию, требуется доработка)
U — вкл/выкл мягкие тени (выкл по умолчанию, требуется доработка)
Y — вкл/выкл контактные тени (выкл по умолчанию, требуется доработка)

Назначения цифровых клавиш (будут меняться в последующих сборках):
1 — вывод финального кадра со всеми эффектами (по умолчанию)
2 — вывод нормалей кадра
3 — вывод освещенности кадра
4 — вывод SSAO кадра
5 — вывод глубины кадра
6 — вывод искривленных нормалей кадра (bent normals)
7 — вывод глубины с добавлением карты высот

Эффекты, которые выключены по умолчанию — работают некорректно. Включение parallax occlusion mapping не покажет ничего, потому что у вас, скорее всего, отсутствуют карты высот для текстур. Но если вы захотите посмотреть как оно будет выглядеть, подложив необходимые текстуры, включите эффект клавишей P. При добавлении карты высот, добавьте к её имени постфикс «_h», кстати, для нормалей — это «_n», таким образом, если текстура называется bricks.pcx, то карта высот должна называться bricks_h.dds (формат текстуры может отличаться и быть любым, поддерживаемым игрой, не обязательно DDS, но DDS предпочтительнее), а карта нормалей — bricks_n.dds.

Поддерживаемые форматы текстур: DDS (только сжатые), PNG, TGA, PCX, GIF, JPG, BMP.

Вот вам, скриншот для затравки из предыдущей юбилейной версии программы:


Эксперименты приветствуются! Публикуйте свои скриншоты!


Ограничения
В настоящее время программа поддерживает три формата моделей: BIN, MIS и OBJ.
Поскольку программа ещё в разработке, поддержка некоторых форматов реализована лишь частично.

BIN — поддерживаются как статические, так и динамические модели, расположенные в файлах obj.crf и mesh.crf соответственно.
MIS — поддерживаются миссии, сделанные как на оригинальном DromEd, так и на новом, расширенном для New Dark Engine.
OBJ — формат поддерживается на базовом уровне, без текстур


Планы развития
В глобальной перспективе просмотрщик должен превратиться в полноценный 3D-движок — Force Engine. Никто не собирается тягаться с Unreal Engine и Unity, моя личная задача состоит в том, чтобы создать на основе этого движка собственную игру.

Более близкие планы — это поддержка всех необходимых ресурсов Dark Engine, для оттачивания на них общих игровых механик, таких как физика, рендеринг, распространение звука, перемещение по уровню, взаимодействие с персонажами и предметами, искусственный интеллект. Всё это планируется реализовать с ресурсами Dark Engine, поэтому логично ожидать от этого проекта появления какого-то игрового прототипа, внешне похожего на Thief. Степень готовности этого прототипа будет обсуждаться с теми, кто проявляет интерес к проекту.

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

Концепт, нарисованный Чужим, к которому мы сейчас подбираемся:



Пожелания
Прошу сообщать о всех найденных ошибках, багах, пожеланиях и предложениях либо мне на почту: toforce@ya.ru, либо в прямо в эту тему, либо в тему просмотрщика на форуме TTLG (eng). Так же, если возникают любые другие вопросы — обращайтесь!

Приветствуется распространение информации о данном проекте всеми возможными способами! Я буду очень благодарен за любое упоминание Dark Engine Viewer и моего сайта forcesw.com в соцсетях.


Благодарности
Я очень благодарен:
— участникам сообщества Dark Fate, без которых этот просмотрщик вряд ли был бы создан, их ники в алфавитном порядке: Boris3000, Chuzhoi, HellRaiser, Maxim, nemyax, Zontik и другим…
— разработчикам и программистам, занимавшимся реверс-инжинирингом оригинального Dark Engine, и запустившим проект Open Dark Engine, без которого идея с ресурсами Thief для Force Engine никогда не состоялась бы, их ники в алфавитном порядке: Telliamed, Volca и всех, кто был причастен к этому.
— Juliusz Kaczmarek aka PinkDot, который помог добавить в программу поддержку формата миссий New Dark Engine, а так же помог в расшифровке формата динамических MESH-объектов.
— Randy Sybel aka Shadowspawn за то, что помог разобраться как использовать расшифрованные данные, полученные из динамических MESH-объектов.
— всем, кто каким-либо образом консультировал, поддерживал и мотивировал меня, включая Vorob’а и мою супругу Татьяну!
Спасибо вам всем!


Авторское право
Используя эту программу, вы соглашаетесь с тем, что её автор не несёт никакой ответственности за возможный вред, причиненный оборудованию или программному обеспечению, напрямую или косвенно связанный с использованием данной программы. Целью автора не является заражение вашего компьютера или распространение вирусов, поэтому критически отнеситесь к возможным предупреждениям антивирусного ПО.


Выдержки из TODO (приоритет указан не в строгом порядке)
Цитировать
ОШИБКИ:
- некоторые модели возвращают пустые списки полигонов в своих костях (поврежденная модель). Возможно, следует изменить алгоритм чтения, чтобы учитывать ВСЕ части модели, даже неиспользуемые?
- на конских разрешениях (значительно больше разрешения монитора) интерфейс работает некорректно (разрешение программы не совпадает с запрашиваемым по конфигурации)


ДОРАБОТКИ:
- менять не выдержку, а гамму клавишами "+" и "-".
- некоторые объекты, всё-таки, имеют неверную ориентацию: штурвал корабля в Shipping, сверло-бур в Cargo. Разобраться.
- добавить информацию о разрешении используемой текстуры для моделей
- раскрашенные цветом части модели имеют неправильную нормаль, из-за чего в режиме просмотра миссии с освещением выглядят абсолютно черными. Вернуть нормаль этим полигонам модели
- клавиши общего функционала, разворот на полный экран и др. должны работать в любом режиме программы
- добавить клавишу BACKSPACE - открытие родительского каталога (?)
- закрытие дескрипторов архивов и файлов после завершения работы с ними (загрузка уровней)
- linux: при запросе файла или каталога искать его без учета регистра
- linux: исправить падение при чтении каталога, к которому нет прав доступа (проверить в разных системах)
- обновление данных без перезагрузки интерфейса
- ошибку загружать без замены всего интерфейса
- добавить возможность в шаблоне проверять true/false для пустых/заполненных строк (с переходом на squirrel)
- убрать установку данных в шейдер отдельным методом схемы рендеринга (чтобы не переключать шейдер только для этого)
- можно сделать ленивую загрузку данных текстуры, отделив чтение заголовка от чтения данных цвета, это позволит избавиться от копирования памяти при использовании PBO, сразу читая данные в указатель видеопамяти, заодно можно будет выкинуть код, работающий без PBO
- позиционировать модель перед камерой с более презентативного угла (переместить камеру вправо и вверх)
- восстановить силуэты POM
- исправить отображение теней в режиме POM
- в зависимости от расстояния до объекта менять скорость скроллинга
- сделать hot-key, возвращающий вид в исходный
- вместо ошибок о неподдерживаемых типах текстур, выдавать default-текстуру
- потюнить автомасштаб при открытии модели когда дебажная отрисовка будет готова
- добавить тени для прожекторов (с переходом на кластерный рендерер)
- починить мягкие тени
- сейчас массив hullVertices кости содержат все вершины кости, надо высчитать из них только образующие convex hull (как вариант - использовать OBB - AABB в пространстве модели)
- источник света, находящийся вблизи стены рисует черный квадрат на этой стене (слишком большая разница между точностью глубины источника и камеры? перемещать плоскости отсечения в зависимости от объектов в сцене?)
- LEGACY HARDWARE: каталоги с русскими именами не сортируются (устанавливается ли локаль?)
- LEGACY HARDWARE: не отображаются каталоги, начинающиеся с точки
- добавить атрибут outline для шрифта
- выводить инфу об mtl файлах в интерфейсе
- цветами выделять текстуры из архивов/каталогов/дефолтную
- проверить что будет в критических ситуациях, когда шаблон вывода ошибки сам выводит ошибку
- стабильность, чтоб программа не падала при определенных значениях атрибутов интерфейса
- разрешить менять размер окна, при этом интерфейс не должен масштабироваться, а должен раздвигаться?


НОВЫЕ ФИШКИ:
- запись и чтение конфигурационного файла
- эффекты в режиме просмотра моделей
- направленный источник света
- изменение настроек программы средствами интерфейса
- создание тестовых миссий для демонстрации возможностей движка
- переделать работу с полигонами неба: не удалять их, а выводить кубмапу неба в них
- поддержка прозрачных цветов в палитре (первый цвет) и правильная отрисовка полупрозрачных полигонов
- добавление поддержки squirrel
- переделать шаблонизатор на использование squirrel, отказавшись от самописной логики
- кубмапы для фона просмотра модели на выбор (светлая/темная)
- если список использованных текстур не влезает в экран, выводить кнопку, открывающую всплывающую панель с прокручиваемым списком
- velocity и motion blur
- сохранение скриншотов
- поддержка анимированных текстур
- отображение джойнтов, вхотов, нормалей, костей скелета
- разбиение уровней на octree и загрузка только ближайших кусков
- генерация вокселей для небольших ячеек octree
- кластерный рендерер
- отказаться от кубмапы тени и использовать текстурный атлас (с переходом на кластерный рендерер)
- генерировать reflection probes в текстурный атлас
- GI
- pbr
- поддержка анимаций dark engine?
- добавить поддержку спецификации glTF


УДОБСТВА КОДА/РЕФАКТОРИНГ:
- отрефакторить менеджер команд и их обработку, сейчас слишком всё запутано и неудобно
- получать все синглтоны (менеджеры ресурсов) прямо по месту использования и не хранить ссылки на них в объектах? Или переделать всё на впрыскивание объектов?
- привязывать текстуры к шейдерным юнитам
- сделать bind-guard'ы для всех привязываемых ресурсов, это упростит код
- отделить исключения для вывода ошибки от фатальных исключений, закрывающих программу, чтобы избавиться от бесконечного цикла вызова ошибки из ошибки
- подумать над единобразием места конвертирования путей функцией formatAsPath() и нужно ли оно или достаточно оставить только в функции path()?
- добавить в шаблонизатор проверку условия true/false через оператор (не понадобится с переходом на squirrel)
- Uniform Buffer Object


ПОДУМАТЬ, НУЖНО ЛИ:
- если текстура была загружена в одном режиме (clamp/repeat), она не загрузится в другом
- прерывать выполнение команды при вызове другой (если их не может быть запущено несколько)?
- если пользовательский ввод не привел к изменениям - не перерисовывать кадр? Перерисовывать частично?
- adaptive shadow bias?
- скриншот с прозрачным фоном (?)
- подумать об отказе от ручной линеаризации цвета
- модель при таскании правой кнопкой перемещается не точно по курсору мыши


P.S.
Сообщение будет обновляться.
« Последнее редактирование: 06 Апреля 2020 15:17:00 от Force »

Онлайн Glypher

  • Хранители
  • Член Гильдии Воров
  • Сообщений: 1366
  • Glyphwarden, Enforcer Instructor
Dark Engine Viewer
« Ответ #1 : 01 Декабря 2019 00:42:16 »
Супер! :up:
...only we know the secrets of the Glyphs...only we know the truth... - Keeper Archives

"To shape a glyph is to shape History." - Caduca

Оффлайн nemyax

  • Мастер Теней
  • Сообщений: 4734
  • Нёмыч
Dark Engine Viewer
« Ответ #2 : 01 Декабря 2019 00:46:27 »
Бложики разработчиков — это круто!

Оффлайн Zontik

  • Фантом
  • Сообщений: 15647
    • Тёмное место
Dark Engine Viewer
« Ответ #3 : 02 Декабря 2019 08:28:47 »
Честно прочитал и попытался понять все, но особенно зацепило почему-то именно это:
Цитировать
лог файл должен всегда создаваться в каталоге программы
Отдельное спасибо за эту незначительную (казалось бы) мелочь!
Дайте глазам отдохнуть! Тёмное место

Онлайн Force

  • Хранители
  • Тень
  • Сообщений: 9089
Dark Engine Viewer
« Ответ #4 : 02 Декабря 2019 17:17:31 »
Сообщение, перенесенное из первого поста
Приветствую всех, друзья тафферы! ;)

В этот радостный день, в 21-ю годовщину Thief: The Dark Project хотел представить вам результат своей годичной работы: ровно год назад я опубликовал первую публичную тестовую версию своей программы - Dark Engine Viewer. Теперь, спустя целый год, казалось бы, можно выкатить крутейший работающий билд с целой кучей новых фич, с реализацией всех хотелок и вообще...

Но я не буду. :o

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

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

В моих планах первоочередная задача сейчас - переписать загрузку моделей, добавить поддержку моделей персонажей. Это довольно крупная задача. Следующая крупная задача - сделать интерфейс изменяемым динамически, а не как сейчас - загружать заново для каждой новой модели. Это позволит вводить текст и приделать наконец контрол для быстрого поиска.

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

Ещё раз всех поздравляю с годовщиной! И да, сообщение скоро обновится!  ;)

--------Оригинальное сообщение--------

Обновил TODO в первом посте и исправил несколько критических ошибок программы. Можно перекачать архив.

Хотелось бы сказать пару слов об изменениях последнего года, что не очень понятно из лога TODO (в который, кстати попадает не всё).

- Добавилась поддержка каталогов игры.
Это значит что можно открыть любую миссию прямо из каталога игры и увидеть все статичные объекты и текстуры. Ничего распаковывать для этого не требуется, ура! :) При этом динамически будут сгенерированы все лайтмэпы для всех источников света, если вы на них повернете камеру (сейчас это приводит к кратковременным тормозам). Это делается один раз за загрузку миссии, ВСЕ лайтмэпы кэшируются, поэтому дальнейший рендеринг должен быть быстрым. Из-за того, что генерируются ВСЕ лайтмэпы миссии, их размер выставлен в 256х256 пикселей, чтобы они гарантировано влезли в видеопамять. Вряд ли удастся посмотреть современные ФМки, поскольку (об этом уже неоднократно говорилось) разработчики New Dark Engine изменили формат миссий и держат его в тайне. Эта тема требует дальнейших исследований и разработки.

- Загрузка миссии осуществляется с отображением интерфейса и без индикатора загрузки, поэтому, если вам показалось что программа зависла, проверьте загруженность диска в диспетчере задач, скорее всего просто загрузка миссии занимает продолжительное время. После загрузки вы можете увидеть черный экран или нагромождение объектов - это нормально. Если вы видите в правом верхнем углу появившуюся кнопу "Free camera mode" - можете нажать её, это спрячет интерфейс и даст возможность повертеть головой. Если всё равно ничего не видно, возможно вы находитесь в неосвещённой комнате - нажмите клавишу "i", чтобы отключить освещение (по аналогии с режимом light_bright в DromEd'е).

- Программа принимает на вход путь открываемого ресурса, будь то объект или миссия. Например так:
dark_engine_viewer_x64.exe "D:\Games\Thief 2 - The Metal Age\MISS13.MIS"Разумеется, таким образом можно передать параметр, перетащив нужный файл на значок программы, либо на её открытое окно. В будущем добавится возможность передавать туда пути к каталогам или архивам.

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

Об организации последующих билдов ещё предстоит подумать, скорее всего, они будут выкладываться отдельными архивами по мере добавления фичь, что потенциально может приводить к ошибкам ранее работающего функционала.
« Последнее редактирование: 06 Декабря 2019 14:57:18 от Force »

Онлайн Force

  • Хранители
  • Тень
  • Сообщений: 9089
Dark Engine Viewer
« Ответ #5 : 02 Декабря 2019 19:12:22 »
Исправлено падение программы в режиме LEGACY HARDWARE при попытке просмотра корня диска.
Архив юбилейной сборки в первом посте обновлен в последний раз. Дальнейшие его модификации не планируются. Сборки будут выпускаться в новых архивах.

Оффлайн nemyax

  • Мастер Теней
  • Сообщений: 4734
  • Нёмыч
Dark Engine Viewer
« Ответ #6 : 03 Декабря 2019 00:23:48 »
разработчики New Dark Engine изменили формат миссий
То есть они и в компилятор уровней залезли?

Онлайн Force

  • Хранители
  • Тень
  • Сообщений: 9089
Dark Engine Viewer
« Ответ #7 : 03 Декабря 2019 07:31:54 »
nemyax
Да, они же чинили DromEd, расширяя ограничения, улучшая статические лайтмэпы и т.п.

У нас есть два варианта: попытаться реверснуть их новый формат (не думаю, что это шибко сложно) и надеяться, что они его больше не поменяют; либо самим компилировать уровни уже так, как нужно нам, приобретая целую гору преимуществ: можно будет убрать все существующие костыли - сейчас есть ворох дополнительных файлов для уровней и текстур, которые дёргаются во время каждой загрузки ресурсов, можно эту информацию интегрировать в откопилированный уровень в удобном для рендеринга виде, при этом не нужно будет портализовать миссию дромедом, все изменения будут видны сразу после сохранения, но это сложнее, надо найти этот код где-то в недрах доступных исходников (если он там есть) и попытаться разобраться в нём. Это CSG - constructive solid geometry.
« Последнее редактирование: 03 Декабря 2019 07:36:40 от Force »

Онлайн Force

  • Хранители
  • Тень
  • Сообщений: 9089
Dark Engine Viewer
« Ответ #8 : 06 Декабря 2019 15:22:26 »
Обновил первый пост, собрал там всю (вроде бы) актуальную информацию по разработке. Если кто что-то ещё вспомнит, скажите, добавлю.

Теперь сборки будут поставляться в обновляемом файле http://forcesw.com/deviewer_build.zip

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

Онлайн Force

  • Хранители
  • Тень
  • Сообщений: 9089
Dark Engine Viewer
« Ответ #9 : 10 Декабря 2019 14:58:36 »
Последние изменения
Цитировать
2019-12-10 15:00 MSK
+ исправлена распаковка нормалей моделей, теперь все объекты корректно освещаются источниками света

Обновил описание в первом посте. В архив сборки добавил readme на русском и английском языках. Буду признателен, если кто-нибудь, свободно владеющий английским, просмотрит английский текст на наличие ошибок! :yes:

Оффлайн Maxim

  • Тень
  • Сообщений: 5500
  • AM Creator
Dark Engine Viewer
« Ответ #10 : 10 Декабря 2019 18:54:29 »
Нифига-се - поддержка объёмных текстур  :o  :up:
Даа, глядя на обширный список "сделать", можно поразиться масштабам. А всё начиналось с утилитки для простых нужд.
Force, ты так скоро свой NewDark запилишь  ;D
Вот бы ещё Вор поддерживал "окклужн" текстурки.
Цитировать
Концепт, нарисованный Чужим, к которому мы сейчас подбираемся
Хорошо получилось в итоге. До сих пор нравится получившийся минимализм. Я правда ещё не пробовал качать более поздние версии.
Поиск прикручен - это здорово. А ты вроде говорил, что такая мелочь потребует многих усилий.

Сходу просится в глаза кое-что, что хочу внести как предложение. Сущая мелочь. Но я не уверен, что это правильно и прям нужно, поэтому тут зависит от поддержки большинства. Ну и тебя, как автора, естественно. Если они видят, что это хорошо, то пусть.
Так вот: на твоём скрине с моделью Будды как раз выделено слева название модели. Но выделение можно улучшить чисто визуально для чёткого отделения от остального хаоса названий, если помимо этой серой полоски, шрифт названия будет красного цвета или жёлтого (но только таких цветов). Желательно такого же оттенка красного, как применённый для написания названий сторон текстур. Вот эти, где "BUDDHA_X - not found"
Это мелочь, чисто косметическая фишка, но глазу будет особенно удобно. Выделение же менять по цвету не надо. Только само название. Можно и такого же оттенка синего, как то же указание сторон текстур, но красный, а особенно жёлтый, исходя из серой гаммы всего остального - мне кажется будут лучше.
« Последнее редактирование: 10 Декабря 2019 19:07:33 от Maxim »
Still they talk anyway
When there's nothing to say
There's so much said in empty words...

Онлайн Force

  • Хранители
  • Тень
  • Сообщений: 9089
Dark Engine Viewer
« Ответ #11 : 10 Декабря 2019 19:10:57 »
Даа, глядя на обширный список "сделать", можно поразиться масштабам. А всё начиналось с утилитки для простых нужд.
Ну, не совсем, для меня началось всё ещё в 2011-м... А мечта сформировалась так вообще в 2004-м... Утилитка была лишь поводом применить наработки и опубликовать результат, чтобы работать не "в стол".

Force, ты так скоро свой NewDark запилишь  ;D
К тому и движемся ;). Хотя, по-любому, масштабы у меня поскромнее и цели немного другие. В первом посте всё написано.

Вот бы ещё Вор поддерживал "окклужн" текстурки.
Если ты про NewDark - то тут вопрос не ко мне. Если про DEViewer - то можно, если очень захочется. Вообще, PBR в планах и обычно там не используются оклюжн-текстуры, но сложности никакой нет, если что. Скажете - сделаем :).

Поиск прикручен - это здорово. А ты вроде говорил, что такая мелочь потребует многих усилий.
Не прикручен, в том то и дело, я писал, что это в ближайших планах:
Цитировать
Следующая крупная задача - сделать интерфейс изменяемым динамически, а не как сейчас - загружать заново для каждой новой модели, это позволит вводить текст и приделать, наконец, контрол для быстрого поиска, который так просил Максим :).

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

Но выделение можно улучшить чисто визуально для чёткого отделения от остального хаоса названий, если помимо этой серой полоски, шрифт названия будет красного цвета или жёлтого (но только таких цветов).
Красным нельзя - это цвет ошибки, синим вроде как планировалось отображать ресурсы из архивов (надо посмотреть, как это будет всё выглядеть). Бледно желтым - можно. Надо чтобы Чужой высказал свое мнение и доработал концепт, при необходимости.
« Последнее редактирование: 10 Декабря 2019 19:23:24 от Force »

Онлайн Force

  • Хранители
  • Тень
  • Сообщений: 9089
Dark Engine Viewer
« Ответ #12 : 11 Декабря 2019 16:47:36 »
Последние изменения
Цитировать
2019-12-11 16:00 MSK
+ исправлена ошибка компиляции шейдера depth_tree на картах AMD
+ расширено логирование при ошибках поиска текстур для упрощения анализа логов
Обновлен первый пост, добавлена информация о версиях linux и legacy, добавлены благодарности (как я умудрился их забыть? :eeeh:).

Chuzhoi призывается в тему для обсуждения предложения Максима по поводу цвета имени текущей модели в списке файлов.

Оффлайн Chuzhoi

  • Призрак
  • Сообщений: 10041
Dark Engine Viewer
« Ответ #13 : 12 Декабря 2019 12:52:00 »
Я пока не перерисовывал концепт, т. к. в цветах и деталях он довольно сильно отличается от программы, и ограничился редактированием скриншотов.

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



(Я бы еще немного потемнее сделал информацию о текстурах и прочем - оставив верхнюю строчку на прежнем уровне яркости; это тоже отражено на скриншоте.)

Можно еще выделить имя файла в этой самой строчке:



(Xотя, по-моему, это уже излишество. Лишние цвета во вьюпорте ни к чему).


Буду признателен, если кто-нибудь, свободно владеющий английским, просмотрит английский текст на наличие ошибок!
Я, конечно, не носитель языка, но я прочитал пару полноразмерных книжек и чувствую себя вправе давать некоторые советы. В целом текст мне показался весьма грамотным и понятным, каких-то грубых ошибок вроде отсутствия -s в третьем лице ед. числа или вопиющей нехватки артиклей не просматривается.

Бросилось в глаза следующее:

creating an association of model and mission file extensions (BIN and MIS) with a the viewer

When the a mission is opened
(Я бы также сделал это предложение в новом абзаце).

clicking on it and the program enters the "free flight" mode - надо как-то переформулировать, например: clicking on it switches the program in the "free flight" mode

In this mode the camera is controlled by the following keys:
WASD and arrows - camera movement, mouse - rotation along the x and y axes
C - move the camera down
SPACE - move the camera up

The effects that are turned off by default do not work correctly

It's planned to regularly publish updates.
« Последнее редактирование: 12 Декабря 2019 12:54:35 от Chuzhoi »

Оффлайн Zontik

  • Фантом
  • Сообщений: 15647
    • Тёмное место
Dark Engine Viewer
« Ответ #14 : 12 Декабря 2019 13:08:51 »
Мне нравится с желтым выделением в колонке. Да, видно и без того хорошо... но, на мой взгляд, это одна из тех деталей, что отличают совершенный продукт от просто хорошего.
Вот во вьюпорте- действительно лишнее. И это выделение логически ничем не оправдано. Да еще и перечеркивает тут плюсик к комфорту, что дает желтый цвет в колонке. Видишь два одинаковых выделения - и невольно начинаешь сравнивать и искать разницу, отвлекаясь от основной задачи.
Дайте глазам отдохнуть! Тёмное место