Xtreme3D 3.x by Gecko

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

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

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

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

Big Boss
Группа: Администраторы
Сообщений: 719
Добавлено: 10-07-2017 19:22
Да, насчет Recast интересная идея, это можно.

Как там в общем дела с этим, после добавления постэффектов, теней новых и прочего?

Эффекты, конечно, тяжеловатые (для моей видеокарты, по крайней мере) - в этом примере у меня максимум 40-45 fps. Но там столько всего понавешано, что и неудивительно - думаю, что в реальной игре столько постэффектов вряд ли потребуется. Тени, кстати, на производительность не влияют, самые тяжелые шейдеры - это SSAO и motion blur.

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

Про такой проект не слышал, надо поискать. Я заглядывал в исходники последней версии Сцены, в целом мой форк примерно соответствует ему по функциональности. Некоторые модули я оттуда себе уже взял.
У них теневых карт, кстати, вроде бы нет до сих пор.

Ответственный за CHM
Группа: Модераторы
Сообщений: 346
Добавлено: 10-07-2017 19:35
Про такой проект не слышал, надо поискать

Кажется проект назывался VBOMesh вот исходный код и собственно сам блог

А можно демки собирать сразу в exe и хранить на гите, а то посмотреть хочется примеры, а ставить Гм ради этого как-то немного лень

Big Boss
Группа: Администраторы
Сообщений: 719
Добавлено: 10-07-2017 20:00
Ага, спасибо, сейчас гляну)

А можно демки собирать сразу в exe и хранить на гите, а то посмотреть хочется примеры, а ставить Гм ради этого как-то немного лень

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

Big Boss
Группа: Администраторы
Сообщений: 719
Добавлено: 10-07-2017 21:37
Вот:

http://xtreme3d.narod.ru/files/x3d3/x3d-3.6-superdemo2.zip

Остальные потом тоже скомпилирую.

Ответственный за CHM
Группа: Модераторы
Сообщений: 346
Добавлено: 11-07-2017 12:11
Gecko, Спасибо! Интересная демонстрация, только этот странный счетчик fps Тогда я с ним ничего не мог поделать, но делать определенно надо, больно на него смотреть) У меня он добежал до 55.

На счет fps. В самом же GLScene есть множитель на deltaTime всех трансформаций?

Просто подсчет кадров в секунду работает в демках GLScene иначе, я тогда еще долго возился с кадансером, мы точно не упускаем что-то при инициализации сцены?

Ну и с трепетом буду ждать полноценную демо

Big Boss
Группа: Администраторы
Сообщений: 719
Добавлено: 11-07-2017 12:21
Я в Update делаю так:

cadencer.FixedDeltaTime := delta;
cadencer.Progress;

Сравнивал вывод ViewerGetFramesPerSecond с собственным счетчиком на SDL (в версии для D), вроде расхождений не было. Обычно fps примерно равен 1.0 / delta, но в тяжелых демках, конечо, падает. Но да, не совсем понятно, почему он повышается постепенно)

Ответственный за CHM
Группа: Модераторы
Сообщений: 346
Добавлено: 18-08-2017 13:45
Какие новости? Что-то давно ничего не слышно о новой версии и демке)

А у кадансера только fixedDelta, расчетной нету для каждого кадра?


Группа: Участники
Сообщений: 5
Добавлено: 19-08-2017 13:39
спрошу здесь. биндинг D, xtreme3d 3.5.0

к примеру:

double levelMlib = MaterialLibraryCreate();
string pathLevelTextures = "data/textures/";
MaterialLibrarySetTexturePaths(levelMlib, pathLevelTextures.strPtr);
string pathLevel = "data/map/test.b3d";
double level = FreeformCreate(pathLevel.strPtr, levelMlib , levelMlib , scene);

вылетает на ViewerRender с First-chance exception: 0x0eedfade: Win32 Exceptions после компиляции.

если указать библиотеки как 0:

double level = FreeformCreate(pathLevel.strPtr, 0, 0, scene);

то работает, но приходится вручную потом возиться с текстурами

***
UPD вопрос закрыт. нельзя использовать одну и ту же библиотеку материалов для текстур и карт освещения.

Big Boss
Группа: Администраторы
Сообщений: 719
Добавлено: 22-08-2017 11:22
Я сейчас в отъезде, так что особого прогресса пока нет, но надеюсь уже в сентябре выпустить 3.6 и начать работу над демкой.
Расчетную дельту, наверное, можно добавить - я просто решил, что пользователю удобнее будет привязать ее к скорости окна GM.

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

бывалый
Группа: Участники
Сообщений: 36
Добавлено: 23-08-2017 00:52
Я сейчас в отъезде, так что особого прогресса пока нет, но надеюсь уже в сентябре выпустить 3.6 и начать работу над демкой.
Расчетную дельту, наверное, можно добавить - я просто решил, что пользователю удобнее будет привязать ее к скорости окна GM.

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



Круто будем ждать, хотел спросить ты есть в соц сетях ?

Big Boss
Группа: Администраторы
Сообщений: 719
Добавлено: 28-08-2017 12:46
Да, ВКонтакте:
https://vk.com/tgafarov

Big Boss
Группа: Администраторы
Сообщений: 719
Добавлено: 03-10-2017 18:31
Вернулся к работе над версией 3.6. Есть проблема с материалами Freeform и шейдерами (подробности в этой теме) - сейчас вот ввожу способы ее обойти. Добавил функции MaterialSetTextureExFromLibrary и FreeformMeshFaceGroupGetLightmapIndex для ручного присваивания лайтмапов материалам. Вкратце, это позволяет использовать в шейдере автоматически загружаемые лайтмапы модели. На скрине показан шейдер для карты B3D, использующий одновременно лайтмап и динамические тени:


бывалый
Группа: Участники
Сообщений: 36
Добавлено: 22-10-2017 15:22
Привет Gecko,
1.Поковырялся в Glscene и понял что там возможностей ещё много, можно ли как то вносить свои новые функции в Xtreme3d именно на главный гит , что бы не создавать отдельный движок.
2.Можно ли обновить opengl в Glscene ?
3.Какие планы на будущее движка ?)
4.Подключил xtreme3d к Develnext ссылка на пост)

Big Boss
Группа: Администраторы
Сообщений: 719
Добавлено: 22-10-2017 18:32
1. Добавлять новые функции очень просто, посмотри папку source/xtreme3d, там реализации всех функций. Можно просто добавить новый файл, затем в source/xtreme3d.dpr добавить его в список включений: {$I 'xtreme3d/myfunctions'} и в конце добавить функции в список экспорта (инструкция exports). Чтобы в репозиторий что-то вносить, надо сделать форк, внести изменения в него, а потом сделать pull request. Или можешь просто мне отправить свои изменения, я их сам добавлю.
2. Насчет этого сильно сомневаюсь. В новых версиях OpenGL (3 и выше) очень многое убрали - фиксированный конвейер, встроенное освещение, glBegin/glEnd, display list'ы и т.д., а в GLScene все это используется на каждом шагу. Проще новый движок с нуля написать.
3. После выпуска 3.6 у меня есть план сделать встроенную поддержку физ. движка Kraft для альтернативу ODE. Еще есть идея написать новую систему частиц.
4. Посмотрел видео, очень круто! Про DevelStudio слышал, но работать не доводилось. Добавлю новость на сайт.

Big Boss
Группа: Администраторы
Сообщений: 719
Добавлено: 25-10-2017 14:16
Поскольку работа над версией 3.6 затянулась, я решил выкладывать development-сборку xtreme3d.dll после каждого багфикса, чтобы все важные изменения можно было использовать уже сейчас. Самая свежая версия всегда доступна по ссылке http://xtreme3d.narod.ru/files/xtreme3d.dll. Она полностью обратно совместима с Xtreme3D 3.5, API не изменился, так что можно заменить ей релизную версию. Думаю также сделать упрощенный SDK со всеми новыми функциями. Предупреждаю, что сборка нестабильна, в ней что-то может внезапно перестать работать, пользуйтесь осторожно.

бывалый
Группа: Участники
Сообщений: 36
Добавлено: 30-10-2017 07:36
1.Чем ODE плоха ?
2.Можно ли анимации использовать на других объектах кроме Actor ?
3.Насчет функции , я решил создать файл и потом кинуть тебе и ещё можно ли список exports писать не в главном файле а в своем ?
4.Почему фпс подымается а не сразу максимум ?(
5.Можно ли как то каденцер сделать быстрее тем самым повысить фпс , в unity3d есть fixed update он выполняет быстрее код, он для физики там используется и не только, даж скорость задать можно вроде)

Big Boss
Группа: Администраторы
Сообщений: 719
Добавлено: 30-10-2017 11:12
1. ODE не развивается (последняя версия была в 2014 году), к тому же версия, которая используется в Xtreme, сильно устарела и имеет много ограничений. Например, не все типы геометрий друг с другом сталкиваются. Теоретически, можно обновить привязку, как-нибудь попробую. Но Kraft все же поинтереснее.
2. Нет. А ты сам подумай, как? Для анимации нужна инфа о том, какие вершины модели к каким костям прикреплять (т.е., развесовка). Она предусмотрена только для Actor.
3. Да, экспорт можно из любого модуля сделать. Я просто решил отделить модули, расширяющие GLScene, от собственно функций Xtreme3D, поэтому у меня один большой exports.
4. Это я сам до сих пор не понимаю.
5. Не думаю, что fixed update имеет отношение к скорости. Ну, то есть, имеет, но косвенное. То, что он для физики используется, это да, но там просто фиксированный шаг времени, не привязанный к fps. Он обычно наоборот, меньше реальной кадровой частоты приложения. А в Xtreme вообще можно как хочешь обновлять - нужен fixed update, делай таймер своими средствами, и вызывай Update когда нужно. В GM, например, можно просто выставить ограничение в 60 fps и не беспокоиться. Можно, теоретически, сделать функцию FixedUpdate, со встроенным таймером, но ведь для физики OdeManagerStep все равно придется вызывать вручную.
Мне кажется, надо бы вообще убрать каденсер и сделать полностью ручное обновление (может, это решило бы и проблему с повышением fps), но в GLScene есть объекты, которые от него зависят, так что это не так просто.

Big Boss
Группа: Администраторы
Сообщений: 719
Добавлено: 30-10-2017 11:18
Добавлю насчет fixed update, чтобы стало яснее. Я в своем движке вот как его делаю:

timer += realDeltaTime;
if (timer >= fixedDeltaTime)
{
timer -= fixedDeltaTime;

//тут идет обновление физики и логики
}

fixedDeltaTime равно 1/60.

Теоретически, шаг времени для fixed можно сделать больше, чем шаг для рендеринга (например, 1/120 против 1/60), но это просто искусственное ограничение. Его нельзя сделать больше, если реальный fps низкий (если приложение физически не может быстрее обновляться, как в нем сделаешь более быстрый таймер?)

бывалый
Группа: Участники
Сообщений: 36
Добавлено: 05-12-2017 15:15
1.Привет Gecko , можешь посоветовать норм физ движок, что бы работало с мешем xtreme3d.
2.будешь ли ты дописывать свой физ движок GMTech ...
3.Подключил к DevelNext вроде все норм работает и хотел сделать примеры типо шутера и платформера но физики нету норм и спрос думаю будет на него так что надо физику новую нормальную ))
4.Видел ты пишешь свой двиг новый на языке D, можно ли сделать библиотеку типо xtreme3d ибо графон там по лучше и возможности .

Big Boss
Группа: Администраторы
Сообщений: 719
Добавлено: 07-12-2017 21:37
К сожалению, пока ничего, кроме ODE, для Xtreme3D нет. Как я уже говорил, у меня есть мысль интегрировать Kraft, но это пока не более чем идея. Если есть интерес к GMDMech, могу его доработать - в данный момент это будет намного проще. Но и возможностей там не сказать чтобы много. Динамических мешей, к примеру, нет.

Что касается моего движка, я не думаю, что для него будет легко сделать библиотеку-враппер. Там очень многое завязано на ООП, на системе событий. Для библиотеки по типу Xtreme нужна более простая архитектура. У меня когда-то была мысль написать такой двиг (Phantom3D), но я отказался от этой затеи - собственно, как раз тогда я и перешел на D.

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

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

KXK.RU