axelynx - низкоуровневый мультимедийный фрейсворк, использующий язык C++ и гапи OpenGL. Используется Blitz-подобная архитектура. Открыты исходники. В процессе разработки. Область приминения -небольшие технодемки, маленькие игрушки, заставки и т.д. Движок лишен нагромождения ООП, поэтому будет понятнее новичкам, естественно, ценой потери некоторой гибкости.
необходима видеокарта поддерживающая opengl 3.0 как минимум.
SDK. (91 метр)
http://www.likosoft.com/download/2/
После установки создаст мастера для студии 2010 и codeblocks - а. (Если установлены)
на данный момент реализовано:
по движку:
по инструментам:
скриншоты:
еще скриншоты
видео:
Системные требования
Минимальные:
CPU 2.0 GHz
RAM 1 Gb
Video GeForce 8xxx, ATI HD 2xxx
Video RAM 128 Mb
Рекомендуемые:
CPU 3.0 GHz
RAM 1 Gb
Video GeForce 4xx GTX, ATI HD 5xxx
Video RAM 512 Mb
примеры кода:
http://likosoft.com/axelynx_wiki/index.php?title=Tutorials
Веб сайт
http://likosoft.com/axelynx/
Беглый просмотр примеров выявил дохрена ошибок\опечаток, в том числе и в английском (например название шейдера OnlyNormals вместо правильного NormalsOnly, в комментах ошибки и т.д).
Стоит упомянуть что идеология\архитектура движка выросла с оглядкой на Blitz3D, а то где-то в примерах упоминается блиц, но большая часть людей на этом форуме даже не слышали о нем :)
Про удобство апи промолчу, это конечно дело вкуса.
>>ввод с клавиатуры и мыши
Буферизированый?
>>загрузка текстур во втором потоке
Почему только текстур?
>>пики по сферам
Помоему лучше что-бы это делал физ. движок (рейкастинг)
>>загрузки текстур формата bmp, jpg, tga, pcx, png, dds
Никогда не понимал зачем чуть ли не во всех движка поддержка такой кучи форматов, когда достаточно было бы dds контейнера, ну и jpg можно еще.
Тулзы есть какие-нить вроде редактора материалов и т.п.?
ЗЫ
Техники какие-нить по куллингу сцены применяются (octree, bvh, bsp, порталы и т.п) или так-же как в блице брутфорс?
>Буферизированый?
нет, асинхронный.
>Почему только текстур?
текстуры тяжелее всего.
>Помоему лучше что-бы это делал физ. движок (рейкастинг)
я подключил bullet. но мне бы хотелось минимальную физику (хотябы рейкаст) сделать без него.
>Никогда не понимал зачем чуть ли не во всех движка поддержка такой кучи форматов, когда достаточно было бы dds контейнера, ну и jpg можно еще.
движок позиционируется как мультимедийная, довольно низкоуровневая библиотека. т.е. для разработки какой нибудь графической фишки, или очень небольшой игрушки. Ресурсы для таких дел обычно заимствуются, и время на их переконвертацию может быть жалко. По факту для движка родные два формата - свой axt, и dds. Остальные работают с ограничениями. Я считаю, пусть лучше с ограничениями работают, чем вообще никак.
>Тулзы есть какие-нить вроде редактора материалов и т.п.?
скрипт для выгрузки геометрии с макса)) такая вот недотулза.
>Техники какие-нить по куллингу сцены применяются (octree, bvh, bsp, порталы и т.п) или так-же как в блице брутфорс?
брутфорс. Но на вменямемом количестве объектов в сцене, он не уступает тому-же огру с окттри. вот бенчмарк c 4096 entity в сцене (без инстансинга) (http://axelynx.googlecode.com/files/EntityCostBenchmark10.zip)
HolyDel, а пару скринов или видео добавить в 0'ое сообщение религия не позволила что ли?
По теме: ничего интересного по скринам/видео не увидел, по описанию аналогично - есть лишь пара интересных фич, всё остальное из азов, в общем-то. А раз нет куллинга - всё вообще плохо. Какова вообще цель создания всего этого? Где предполагается применять?
Кстати, ты Требования к темам в разделе Проекты читал вообще? Судя по тому, что ты даже забыл написать что это вообще такое, помимо того что "создаст мастера для студии 2010 и codeblocks - а", видимо, не читал. Будь добр, почитай, и оформи как надо. Уж как минимум напиши хотя бы:
>Краткое описание проекта (название, жанр, особенности).
>Описание должно давать только общее представление о проекте (2-3 абзаца), подробности предоставляются ссылкой или после основной части.
Зачем нужно было пихать в архив огромный sdf-файл, который студия может сама создать? Откомпилированные Debug версии тоже не нужны. Не нашёл нормальных примеров, где можно побегать и попрыгать. Только текст и крутящийся параллаксный куб с наростами.
В общем, не заметил ничего, чего не может OpenGL 2.0.
slava_mib
> HolyDel, а пару скринов или видео добавить в 0'ое сообщение религия не
> позволила что ли?
добавил.
slava_mib
> Кстати, ты Требования к темам в разделе Проекты читал вообще?
нет :) почитал - поправил.
slava_mib
> Какова вообще цель создания всего этого? Где предполагается применять?
применят планируется для небольших технодемок. я поэтому и не пишу, что это игровой движок. там нет классов типа Player, InvertaryItem и что то вроде этого. Есть меши, текстуры, ноды сцены. материалы. Из-за небольшой прослойки между гапи и клиентским кодом мы имеем довольно небольшой оверхед. Цель создания движка - опыт, наличие удобного инструмента для быстрого создания какой-нибудь небольшой графической демки. Цель расположения на сайте - показать людям, что есть такой вот инструмент, может кому понравится. Ну и просить потестить демки тут, а не в других темах :)
> всё остальное из азов, в общем-то. А раз нет куллинга - всё вообще плохо.
фрустум куллинг есть. нет иерархической разбивки. по баундинг сферам. ну да - в основном азы. но библиотека то еще пишется.
gammaker
> Зачем нужно было пихать в архив огромный sdf-файл, который студия может сама
> создать?
пардон. мой косяк.
> Откомпилированные Debug версии тоже не нужны.
ок. учту.
>В общем, не заметил ничего, чего не может OpenGL 2.0.
будет. но позже :)
посмотрел скрины, видео, примеры, скажу честно, пока не зацепило. Но думаю, если добавите хороший инструментарий и плагины к разнообразным редакторам, то думаю у ващего детища найдутся свои почитатели, ну а там кто знает =). Да и еще как говорит мой знакомый "я люблю, когда разработчик сам пользуется своим инструментом", так что если вы сами что-то на нем сделаете, то это будет еще один плюс вашему проекту. В общем удачи вам.
terrorsl
> В общем удачи вам.
спасибо!
новая версия.
пофикшена ошибка с MRT
пофикшена ошибка в шейдере паралакса
пофикшена ошибка в проигрывании феоры (под mingw так и не работает)
пофикшена ошибка в инстансинге
добавлен ряд старых сэмплов
начата работа над справкой по движку и по шейдерам (в архиве они есть).
версия фулл (с прекомпилированными статическими либами, 96 метров)
http://axelynx.googlecode.com/files/axelynx_106_full.exe
версия лайт( без либ, 40 метров):
http://axelynx.googlecode.com/files/axelynx_106_lite.exe
Hartmann
> Никогда не понимал зачем чуть ли не во всех движка поддержка такой кучи
> форматов, когда достаточно было бы dds контейнера, ну и jpg можно еще.
А PNG? PNG же нужен, там альфаканал
>>А PNG? PNG же нужен, там альфаканал
DDS поддерживает альфаканал
DDS - альфаканал, мипмапы, кубемапы, 3д, float-форматы, аппаратная декомпрессия (S3TC)
JPG - сжатие полноцветных рисунков, фото (особенно если размер дистрибутива лимитирован)
все, остальное ненужно :)
Hartmann
> DDS поддерживает альфаканал
А я не знал. Думал просто формат текстуры от Microsoft DiretX.. Да и не видел я у себя в редакторе возможность сохранять DDS да еще и с альфой.. Щас посмотрю..
Действительно, возможность такая есть. Только есть ли поддержка в движках? В Конструкте, например, я юзаю PNG.
А какие параметры оптимальные задавать при сохранении если я хочу с прозрачностью или альфой - стекло например - сохарнить?:
вот еще пара скриншотов:
Доброго времени суток.
Выкладываю демку физики:
скрин:
ссылка (по хиту левой кнопки мыши спаунится бокс и летит в направлении камеры):
www.likosoft.com/download/PhysicsDemo.zip
Движок становится "почти" проприетарным. Сурсы его будут выкладываться примерно раз в полгода. Причем это будут сурсы полугодичной давности.
Бинарники будут собираться от раза до четырех в месяц.
Планируется охват платформ: Windows, Linux, MacOS, iOS, Android
Использовать будет смысл для нестандартных графических демок / игр.
Бороться с тем же юнити в области обычных игр нет смысла - остаются нестандартные игры / нестандартные графические демки.
Остается только давить на недостаток всех унивверсальных систем - это их скорость :) Оптимизации и дальше буду уделать значительное время и силы.
В этом плане вырабатывается философия движка:
1) Движок это его интерфейс. Необязательно символ в символ.
Если есть, скажем, на плюсах:
Window *end = eng->AddWindow(); Canvas *canvas = wnd->GetCanvas();
и на шарпе:
Window wnd = eng.AddWindow(); Canvas canvas = wnd.GetCanvas();
это один и тот же движок.
2) В отказе от универсальности теряем часть железа:
не поддурживаются видеокарты слабее 8xxx, не поддерживаются устройства с ES 1.0
3) Если пользователь не имеет прибыли со своего проекта - то использовать движок всегда можно будет бесплатно.
На мобильных платформах думаю ввести какое-нибудь очень небольшое роялити - 1% - 3%, если система и в правду будет избавлять от лишнего геммороя
4) Отказ от C++0x и stl. Оно не везде есть. И даже от #pragma once есть не везде. Мир за пределами винды жесток :)
Вообще довольно много прийется переписать для этого. Хоть и внутри реализации в основном, но все же.
Понадобятся свои строки, вектора, списки.
5) Абстрактные файлы - ресурсы могут грузиться откуда угодно. С файла, с памяти, с архива - по сети.
6) Простая инсталяция и минимальный порог вхождения (очевидно выше чем у блица, но, хотелось бы, чтобы был ниже чем у огра и даже иррлихта)
Документация доксигеном и только на английском.
7) Тулзы не критично. Ибо каждая игра должна бросто кичиться уникальностью. Иначе есть юнити.
Сейчас в планах докрутить частично физику (твердые тела, мягкие тела, хуллы, тримешы, хейтмапы)
сделать нормальный экспортер с макса (пусть даже на скриптах, который бы экспортировал всю иерархию сцены и сохранял как минимум текстуры)
прикрутить в каком-нибудь виде lua
убрать stl
убрать C++0x
убрать layout-ы с шейдеров (стандартизировать именна аттрибутов и юниформов)
ну и начать потихоньку комментировать существующие части интерфейса для создания справки doxygen-ом
Вероятно, к 01.01.2013 должна быть версия хоть как-нибудь пригодная для использования, хотя бы на платформе Windows.
Чем вы можете помочь проекту? Самое простое - просто тестировать демки.
Мне важно проверять их на максимально широком спектре оборудования (удовлетворяющего системным требованиям).
Можно попробовать установить и попытаться написать какую-нибудь демку, затем сказать мне обо всех неоднозначных моментах, которые я постараюсь исправлять.
Если кто решит помочь с написанием кода самого движка / сэсплов, то тут уже можно вести речь о скромной денежной компенсации с моей стороны :)
ну вот. такие дела.
Учитывая что за полгода практически ничего не изменилось, то я бы планировал примерно 2016-2019 года, где-то так.
> В этом плане вырабатывается философия движка:
> 1)
> ...
> 7)
неплохая философия.
Тема в архиве.