Xtreme3D 3.0 by Gecko

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

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

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

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

Big Boss
Группа: Администраторы
Сообщений: 643
Добавлено: 15-06-2016 17:54
Начал работу над функциями ODE. Важный момент: теперь Xtreme3D корректно передает меши в ODE, так что будет полноценная поддержка полигональной геометрии для статических тел. Также доведена до ума поддержка составных тел - при создании геометрий можно задавать не только размер, но и позицию относительно центра масс.


Big Boss
Группа: Администраторы
Сообщений: 643
Добавлено: 16-06-2016 16:16
В ODE теперь можно использовать terrain:


Ответственный за CHM
Группа: Модераторы
Сообщений: 346
Добавлено: 27-06-2016 11:14
Всем привет!

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

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

Еще очень не хватало информации о самой сцене (или рендере, как хотите): сколько треугольников в кадре, отображение draw call и кол-ва используемых материалов - с этим можно было бы более эффективно оптимизировать игру.

P.S Вообщем, Gecko, ты как обычно крут!) Теперь переписывай старую IDE, чтобы отвязать пользователей от Game Maker и будет шикарный олдскульный инструмент разработки!

Big Boss
Группа: Администраторы
Сообщений: 643
Добавлено: 28-06-2016 10:21
О, привет, Hacker!
Да, по справке, конечно, еще много работы. Хочу уроки написать, добавить подробности по каждому из форматов моделей. По GLSL можно вообще написать отдельный цикл статей.
Насчет получения инфы по рендеру - постараюсь сделать, если в GLScene есть такая возможность.
Кстати, я даже не знаю, можно ли заставить X3D работать с GM Studio, у меня тоже не получилось. Вместо GM, в принципе, можно взять любой язык и написать биндинг. Есть мысль сделать биндинги для нескольких популярных языков (например, C и Python) + какую-нибудь легковесную standalone-версию со встроенными Lua и SDL, например.
Вообще, о том, какой язык взять за основу, если отказываться от GML, на нашем форуме уже много разговоров было, так ни к чему и не пришли. Таскать со средой компилятор C/С++ (или уж тем более весь рантайм Mono) как-то не очень изящно, а скриптовые языки не всех устраивают в плане скорости. Сам я сейчас продолжаю писать на D, но мне кажется, что игровую логику можно писать и на Lua/Python/..., особенно в данной ситуации, когда весь критичный к производительности код уже скомпилирован в DLL. Но лучше, конечно, чтобы была свобода выбора.

Кстати, если кому интересно: в последнее время заинтересовался модным сейчас physically-based rendering'ом, попробовал написать свой PBR-рендер: http://dlanggamedev.blogspot.ru/2016/06/pbr_25.html. В принципе, ничто не мешает встроить его в X3D, это просто один-единственный шейдер с кучей параметров. Хотя, конечно, без OpenGL 3/4 все равно далеко не уедешь - например, в OpenGL 2 нельзя передавать разные уровни размытости отражений в одной текстуре через mipmap'ы, но даже и без этого PBR позволяет сильно повысить уровень графики.

бывалый
Группа: Участники
Сообщений: 49
Добавлено: 28-06-2016 16:10
По GLSL можно вообще написать отдельный цикл статей.

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


Вообще, о том, какой язык взять за основу, если отказываться от GML, на нашем форуме уже много разговоров было, так ни к чему и не пришли. Таскать со средой компилятор C/С++ (или уж тем более весь рантайм Mono) как-то не очень изящно, а скриптовые языки не всех устраивают в плане скорости.

Рантайм Mono гораздо легче компилятора с его кучей хидеров и либ. Можно уместить в несколько мегабайт, причём вместе со стандартной библиотекой. А ещё можно урезать стандартную библиотеку, оставив в ней только то, что используется в конкретной игре. У тебя всё равно сишный API, сделай поддержку побольше языков.

Хотя, конечно, без OpenGL 3/4 все равно далеко не уедешь - например, в OpenGL 2 нельзя передавать разные уровни размытости отражений в одной текстуре через mipmap'ы, но даже и без этого PBR позволяет сильно повысить уровень графики.

Почему нельзя? Функция textureCubeLod в GLSL 1.10 есть, что ещё надо?

Big Boss
Группа: Администраторы
Сообщений: 643
Добавлено: 28-06-2016 17:08
Если писать статьи по GLSL, нужно определиться с версией, а то они отличаются. Лучше наверное всё-таки дать ссылки на готовые уроки по GLSL, а в справке достаточно написать, как эти шейдеры использовать.

Можно и так. Версии там 1.10 и 1.20.

У тебя всё равно сишный API, сделай поддержку побольше языков.

Да, скорее всего, просто сделаю много биндингов.

Почему нельзя? Функция textureCubeLod в GLSL 1.10 есть, что ещё надо?

А, действительно, и правда есть. Видимо, перепутал с GL ES.

бывалый
Группа: Участники
Сообщений: 49
Добавлено: 28-06-2016 17:56
В GL ES тоже есть эта функция.

Big Boss
Группа: Администраторы
Сообщений: 643
Добавлено: 28-06-2016 18:28
По-моему, там она какое-то расширение требует. GL_EXT_shader_texture_lod, если не ошибаюсь.

бывалый
Группа: Участники
Сообщений: 49
Добавлено: 28-06-2016 20:56
А ну да, в спеке же написано:
The built-ins suffixed with “Lod” are allowed only in a vertex shader. For the “Lod” functions, lod is
directly used as the level of detail.


И в GLES2, и GL2 эти строчки есть.

Big Boss
Группа: Администраторы
Сообщений: 643
Добавлено: 28-06-2016 23:27
Интересно, какой толк от чтения текстуры в вершинном шейдере)

бывалый
Группа: Участники
Сообщений: 49
Добавлено: 28-06-2016 23:55
Например можно сделать симуляцию воды на GPU во фрагментном шейдере. Результат сохраняется в виде карты высот в текстуру. А в вершинном шейдере можно читать эту текстуру и смещать вершины на нужную высоту.
Или можно генерировать ландшафт на лету на видеокарте. А ещё, в отличие от атрибутов вершин, текстуру можно сжать в какой-нибудь BC1-BC7 и другие сжатые форматы. Можно даже нормали не хранить, а считать их в вершинном шейдере, читая соседние тексели текстуры.
Или например можно систему частиц считать на вершинном шейдере. Задать 1D текстурой произвольную зависимость параметров (размер, цвет или даже траекторию) частицы от времени и читать из неё в вершинном шейдере.
В общем, применений масса.

Big Boss
Группа: Администраторы
Сообщений: 643
Добавлено: 29-06-2016 09:01
Точно, про невизуальные данные я как-то не подумал)

Big Boss
Группа: Администраторы
Сообщений: 643
Добавлено: 08-07-2016 11:14
Выпустил третью альфа-версию с поддержкой ODE:

https://github.com/xtreme3d/xtreme3d/releases/tag/v3.0.0-alpha.3

У кого-то могут быть проблемы с заходом на GitHub (опять какие-то блокировки, кажется), пользуйтесь прокси. В скором времени залью SDK на сайт.

Появилось два новых примера - собственно физика и эффективный рендеринг большого лесного массива при помощи мультипрокси (вдалеке от камеры меши деревьев заменяются на спрайты, что-то вроде paged geometry из Ogre):


Big Boss
Группа: Администраторы
Сообщений: 643
Добавлено: 21-07-2016 14:06
Бета-релиз:

https://github.com/xtreme3d/xtreme3d/releases/tag/v3.0.0-beta.1

Добавил поддержку PNG и DDS, новый встроенный BumpShader (вместо родного из GLScene написал свой на GLSL), а также функции ObjectCheckCubeVsFace и ObjectCheckFaceVsFace. Исправлены баги с рейкастингом.



Группа: Участники
Сообщений: 1
Добавлено: 10-09-2016 09:47
Привет.
Xtreme 3D 3.0 by Gecko всегда будет под LGPL?

Big Boss
Группа: Администраторы
Сообщений: 643
Добавлено: 11-09-2016 00:11
Скорее всего, да. Она совместима с MPL, лицензией GLScene.

Big Boss
Группа: Администраторы
Сообщений: 643
Добавлено: 30-09-2016 14:07
Выпустил новую версию, 3.1. Скоро залью на сайт, пока можно скачать SDK с Гитхаба:

https://github.com/xtreme3d/xtreme3d/releases/tag/v3.1.0

Изменения с бета-версии включают новые функции для спрайтов и новый объект HUDShape для рендеринга 2D-фигур, подробности в этой теме. Также добавил новую демку, которая показывает, как настроить bump mapping с тенями и привязать тени к движущемуся источнику света.



Дополнительные демки и примеры (например, пример Ragdoll и ручной сборки моделей) постепенно будут выкладываться отдельно, чтобы не перегружать SDK.

Big Boss
Группа: Администраторы
Сообщений: 643
Добавлено: 06-10-2016 13:16
Рад сообщить, что в следующей версии (3.2) будет поддержка FBO. Это позволит, например, реализовать SSAO (screen-space ambient occlusion):



Также можно будет применять любые эффекты пост-процессинга, где требуется доступ к Z-буферу в шейдерах (MemoryViewer, к сожалению, его не предоставляет, поэтому на нынешнем этапе SSAO не сделаешь).

Big Boss
Группа: Администраторы
Сообщений: 643
Добавлено: 17-10-2016 12:19
Помню, в какой-то теме на форуме был вопрос, можно ли реализовать depth of field (фокусное размытие) - в Xtreme3D 3.2 можно будет сделать и его:


Big Boss
Группа: Администраторы
Сообщений: 643
Добавлено: 28-10-2016 15:23
В одной теме как-то обсуждался эффект рассеивающегося света (так называемые крепускулярные лучи или god rays) - сейчас вот работаю над Xtreme3D 3.3, в котором можно будет его реализовать:



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

Теоретически, данная возможность позволит реализовать и deferred rendering - надо будет попробовать.

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

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

KXK.RU