Xtreme3D 3.0 by Gecko

  Вход на форум   логин       пароль   Забыли пароль? Регистрация
On-line:  

Раздел: 
Форум движка Xtreme3D / Xtreme3D: разработка движка / Xtreme3D 3.0 by Gecko

Страницы: << Prev 1 2 3 4 Next>> новая тема

Автор Сообщение

Big Boss
Группа: Администраторы
Сообщений: 643
Добавлено: 01-12-2016 14:28
Портирую свой PBR-шейдер на Xtreme3D - задействовать его можно будет в следующей версии, 3.4. Может быть, PBR-рендеринг даже станет частью движка.




Для тех, кто не в курсе: PBR (physically based rendering) - это совокупность техник рендеринга и способ описания материалов, позволяющий рендерить реалистичные материалы, включая металлы и диэлектрики, с учетом освещения среды. Вот здесь неплохая вводная статья на русском.

Big Boss
Группа: Администраторы
Сообщений: 643
Добавлено: 01-12-2016 14:36
Еще будет поддержка блиттинга FBO в главный кадровый буфер, что позволяет легко реализовать эффект искажения (например, в рельефном стекле, при мареве от жары и т.д.):


Big Boss
Группа: Администраторы
Сообщений: 643
Добавлено: 02-12-2016 12:07
Новые скрины PBR-шейдера:


Big Boss
Группа: Администраторы
Сообщений: 643
Добавлено: 04-12-2016 11:54
PBR + мягкие тени + SSAO + FXAA:


Ответственный за CHM
Группа: Модераторы
Сообщений: 346
Добавлено: 15-12-2016 18:18
Выглядит крайне заманчиво и с каждым разом все круче. Но как я понимаю, это все для Game Maker 8? Не планируешь ли переходить ан Game Maker Studio, все же разница в производительности там приличная

Big Boss
Группа: Администраторы
Сообщений: 643
Добавлено: 15-12-2016 21:41
Пробовал GMS, он тормознутый какой-то (сам редактор). Хотя движок, наверное, действительно быстрее, не сравнивал. Да и интерфейс какой-то вырвиглазный, по сравнению со старыми версиями. Мне GM8 больше нравится - он ламповый, а я ведь только из чувства ностальгии этим занимаюсь

Всерьез, конечно, на GM я ничего сейчас не делаю. X3D использую только для прототипирования, обкатки всяких шейдеров и технологий, которые затем переношу в свой движок на D. Кстати, еще почерпнул для себя много полезного, изучая внутренности GLScene и разных паскалевских библиотек, там очень много замечательных архитектурных решений. Есть чему поучиться.

Big Boss
Группа: Администраторы
Сообщений: 643
Добавлено: 29-12-2016 14:05
Рад сообщить, что в следующей версии X3D будет поддержка TTF-шрифтов и Юникода для экранного и плоского трехмерного текста - таким образом, давняя проблема с выводом кириллицы будет окончательно решена. Я реализовал такую же систему рендеринга текста, как и в моем движке DGL - то есть, текстуры для символов хранятся в хэш-таблице, первые 128 символов загружаются заранее, а остальные динамически, по необходимости - если они нужны для отрисовки пользовательской строки. Таким образом, можно одновременно использовать любые алфавиты, хоть китайские иероглифы (если, конечно, они есть в шрифте).


Big Boss
Группа: Администраторы
Сообщений: 643
Добавлено: 05-01-2017 13:57
В следующей версии (3.5) появится поддержка плоскостей отсечения, благодаря чему наконец-то можно будет сделать воду со screenspace-отражением и преломлением, как в Ultimate3D (демка Fire and Water) и GMOgre (демка Fresnel). Также, благодаря доступу к буферу глубины, можно реализовать неполную прозрачность воды.


Big Boss
Группа: Администраторы
Сообщений: 643
Добавлено: 07-01-2017 20:44
Хроматическая аберрация для преломления (разложение света на составляющие, что придает объектам под водой радужные оттенки - чем больше искажение, тем сильнее эффект):



Скачать демку

Big Boss
Группа: Администраторы
Сообщений: 643
Добавлено: 27-01-2017 20:49
Работаю над реализацией Cascaded Shadow Maps - техники рендеринга теней, которая решает проблему баланса качества и охвата проекции теневых карт. Рендерятся три теневые карты вместо одной, с разными размерами проекции, и затем выборка из них интерполируется в зависимости от координат текущего пикселя. В результате охват сцены тенями возрастает в разы: получаются качественные тени вблизи от камеры и пикселизированные - вдалеке (благодаря PCF-фильтрации пикселизацию можно ослабить).



Скачать демку

Big Boss
Группа: Администраторы
Сообщений: 643
Добавлено: 29-01-2017 21:12
На основе демки с тенями пишу новый улучшенный PBR-шейдер:


Big Boss
Группа: Администраторы
Сообщений: 643
Добавлено: 31-01-2017 00:07

Big Boss
Группа: Администраторы
Сообщений: 643
Добавлено: 31-01-2017 14:03

Big Boss
Группа: Администраторы
Сообщений: 643
Добавлено: 06-07-2017 18:37
В Xtreme3D 3.6, кроме встроенной поддержки Lua, будет новый тип прокси-объектов - ActorProxyObject. Hacker как-то говорил (в том числе в этой теме), что Actor'ы при дублировании жрут много памяти - так вот, прокси решают эту проблему. Данные о модели/скелете хранятся в единственном экземпляре, а каждый прокси рисует заданного Актера со своим кадром анимации и со своей трансформацией.



hk = ActorCreate('hellknight.md5mesh', matlib, global.scene);
ActorAddObject(hk, 'idle.md5anim');
ActorAddObject(hk, 'attack.md5anim');
ActorSwitchToAnimation(hk, 0, true);

proxy = ActorProxyObjectCreate(hk, global.scene);
ObjectSetPosition(proxy, 4, 0, 0);
ActorProxyObjectSwitchToAnimation(proxy, 2);

Таким образом, ActorProxyObject пригодится, если у вас в игре много однотипных персонажей, а это довольно распространенная ситуация.

Big Boss
Группа: Администраторы
Сообщений: 643
Добавлено: 07-07-2017 11:09
Также я наконец-то решил проблему кириллицы в GM. С версии 3.4 в Xtreme3D есть поддержка TTF-шрифтов и Юникода, но в GM8 строки кодируются системной кодировкой Windows, и конвертировать их в UTF-8 не очень удобно. Теперь можно будет сделать так:

font = TTFontCreate('font.ttf', 12);
TTFontSetEncoding(font, teWindows); // или teUTF8
text = HUDTextCreate(font, 'Привет, мир!', global.front);

По умолчанию используется Windows-1251, но можно загрузить свой маппинг для перевода 8-битных символов (128-255) в Юникод:

TTFontLoadCodePage(font, 'codepage.txt');

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

Ответственный за CHM
Группа: Модераторы
Сообщений: 346
Добавлено: 07-07-2017 13:28
Gecko Эх, жаль, что Xtreme3D лет 7 назад так активно не развивался, было бы просто шикарно

У меня вопрос тут назрел. Я когда писал свою реализацию, старался уделить внимание обработке ошибок. Очень раздражало в свое время окошко о "неожиданная ошибка".

Я тогда делал проверки через try, по сути мы используем такое только в процедурах типа Create, а значит это всего лишь увеличит время загрузки, но в итоге не повлияет на производительность. Что об этом скажешь? Больше информативности появится.

И смотрю я на прогресс и так и тянет меня сделать демку-презентацию в стиле Doom 3, такой себе мини шутер с демонстрацией всех возможностей Xtreme3D. Только не знаю зачем

Big Boss
Группа: Администраторы
Сообщений: 643
Добавлено: 07-07-2017 14:55
Я тогда делал проверки через try, по сути мы используем такое только в процедурах типа Create, а значит это всего лишь увеличит время загрузки, но в итоге не повлияет на производительность. Что об этом скажешь? Больше информативности появится.

Да, наверное, так и сделаю. Где-то обработку исключений уже поставил - при загрузке шейдеров, например.

И смотрю я на прогресс и так и тянет меня сделать демку-презентацию в стиле Doom 3, такой себе мини шутер с демонстрацией всех возможностей Xtreme3D. Только не знаю зачем

Демку, кстати, как раз собираюсь сделать. Шутер или что-то вроде RPG. После релиза 3.6, наверное, займусь.
Я тоже не знаю, зачем снова занимаюсь всем этим) Какая-то ностальгия охватила... Хотя нельзя сказать, что это совсем бесцельный труд - Xtreme3D удобен для создания прототипов, я на нем тестирую шейдеры и разные техники, которые потом портирую в свой движок. Да и gadmaker вот его использует в привязке для Lua. Еще был Ghost с его игрой по мотивам "Балто", но я не знаю, в каком состоянии сейчас этот проект.

А вообще я не один такой - недавно на меня вышли авторы MAEngine, у них тоже интересный двиг - правда, под GMS, но они не исключают возможность поддержки GM8.

Big Boss
Группа: Администраторы
Сообщений: 643
Добавлено: 09-07-2017 15:29
Еще несколько скринов:



Скорее всего, этот пример и станет основой для техно-демки.

Big Boss
Группа: Администраторы
Сообщений: 643
Добавлено: 10-07-2017 17:19
То же самое, но с блумом:


Ответственный за CHM
Группа: Модераторы
Сообщений: 346
Добавлено: 10-07-2017 17:48
А вообще я не один такой - недавно на меня вышли авторы MAEngine

Интересный движок. Я хочу тебе подкинуть идею, так как в Xtreme нет встроенного поиска пути, предлагаю взять Recast библиотеку из их проекта (Если я правильно понял, это NavMesh чистой воды), только для него придется добавить несколько новых функций в сам Xtreme.

Это было очень кстати для будущей Dem'ки

Еще несколько скринов:

Ну и вопросик есть о производительности, судя по скриншотам ( а они крутые ), fps скачет достаточно заметно. Как там в общем дела с этим, после добавления постэффектов, теней новых и прочего?

Я просто помню, на форуме посвященному GlScene кто-то пилил на основе него продвинутую версию, но форум заглох и я потерял этот проект.

Да и человек этот вряд ли его еще делает, но если есть исходники, может стоит что-то использовать оттуда? Или это уже перебор для ностальгической разработки?

Страницы: << Prev 1 2 3 4 Next>> новая тема
Раздел: 
Форум движка Xtreme3D / Xtreme3D: разработка движка / Xtreme3D 3.0 by Gecko

Отвечать на темы могут только зарегистрированные пользователи

KXK.RU