ПроектыФорумУтилиты

мультимедийный фреймворк axelynx

Страницы: 1 2 3 4 Следующая »
#0
2:53, 8 янв 2012
Изображение

axelynx - низкоуровневый мультимедийный фрейсворк, использующий язык C++ и гапи OpenGL. Используется Blitz-подобная архитектура. Открыты исходники. В процессе разработки. Область приминения  -небольшие  технодемки, маленькие игрушки, заставки и т.д. Движок лишен нагромождения ООП, поэтому будет понятнее новичкам, естественно, ценой потери некоторой гибкости.

необходима видеокарта поддерживающая opengl 3.0 как минимум.

SDK. (91 метр)
http://www.likosoft.com/download/2/
После установки создаст мастера для студии 2010 и codeblocks - а. (Если установлены)
на данный момент реализовано:
по движку:

  • ввод с клавиатуры и мыши. KeyDown, KeyHit, KeyUp.
  • загрузку большинства ресурсов с разных источников, файлы, оперативка, zip-архивы
  • ведение html логов, куда пишутся ошибки сборки и линковки шейдеров
  • мультисэмплинг
  • мультимониторность
  • загрузка текстур во втором потоке
  • вершинные, фрагментные, геометрические и тесселяции шейдеры
  • Рендер в текстуры разного формата, в том числе HDR, в слой текстурного массива или 3д текстуры. MRT
  • быстрый вывод юникода текста
  • кэширование бинарников шейдеров (как автоматическое, так и ручное)
  • набор стандартных шейдеров и 3д примитивов
  • инстансинг
  • очень быстрые спрайтовые системы, как на расширениях железа, так и на геометрических шейдерах (с куллингом)
  • неограниченная иерархия в сцене
  • пики по сферам, куллинг по сферам.
  • мультикамеры
  • горячая смена разрешения
  • статичтика (фпс, дипы, трисы, смены шейдеров, текстур)
  • загрузка коллады (частично)
  • загрузки текстур формата bmp, jpg, tga, pcx, png, dds. свой формат - axt. из dds грузятся объемные текстуры, кубемапы и мипы.
  • оптимизация геометрии под post t&l кэш. расчет тангентов.
  • рендеринг видео theora
  • рендеринг объемных линий

  • по инструментам:

  • поддерживается cl и mingw.
  • инсталлер. движок ставится в один клик мышью, и с ним уже можно работать (после перезагрузки) через студию 2010 или code::blocks.
  • три сэмпла (мало, но что поделать)
  • скриншоты:
    Изображение
    Изображение
    еще скриншоты

    видео:

    Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

    еще видео

    Системные требования

    Минимальные:
    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/

    #1
    10:28, 8 янв 2012

    Беглый просмотр примеров выявил дохрена ошибок\опечаток, в том числе и в английском (например название шейдера OnlyNormals вместо правильного NormalsOnly, в комментах ошибки и т.д).
    Стоит упомянуть что идеология\архитектура движка выросла с оглядкой на Blitz3D, а то где-то в примерах упоминается блиц, но большая часть людей на этом форуме даже не слышали о нем :)
    Про удобство апи промолчу, это конечно дело вкуса.

    >>ввод с клавиатуры и мыши
    Буферизированый?

    >>загрузка текстур во втором потоке
    Почему только текстур?

    >>пики по сферам
    Помоему лучше что-бы это делал физ. движок (рейкастинг)

    >>загрузки текстур формата bmp, jpg, tga, pcx, png, dds
    Никогда не понимал зачем чуть ли не во всех движка поддержка такой кучи форматов, когда достаточно было бы dds контейнера, ну и jpg можно еще.

    Тулзы есть какие-нить вроде редактора материалов и т.п.?

    ЗЫ
    Техники какие-нить по куллингу сцены применяются (octree, bvh, bsp, порталы и т.п) или так-же как в блице брутфорс?

    #2
    20:39, 8 янв 2012

    >Буферизированый?
    нет, асинхронный.

    >Почему только текстур?
    текстуры тяжелее всего.

    >Помоему лучше что-бы это делал физ. движок (рейкастинг)
    я подключил bullet. но мне бы хотелось минимальную физику (хотябы рейкаст) сделать без него.

    >Никогда не понимал зачем чуть ли не во всех движка поддержка такой кучи форматов, когда достаточно было бы dds контейнера, ну и jpg можно еще.
    движок позиционируется как мультимедийная, довольно низкоуровневая библиотека. т.е. для разработки какой нибудь графической фишки, или очень небольшой игрушки. Ресурсы для таких дел обычно заимствуются, и время на их переконвертацию может быть жалко. По факту для движка родные два формата - свой axt, и dds. Остальные работают с ограничениями. Я считаю, пусть лучше с ограничениями работают, чем вообще никак.

    >Тулзы есть какие-нить вроде редактора материалов и т.п.?
    скрипт для выгрузки геометрии с макса)) такая вот недотулза.

    >Техники какие-нить по куллингу сцены применяются (octree, bvh, bsp, порталы и т.п) или так-же как в блице брутфорс?
    брутфорс. Но на вменямемом количестве объектов в сцене, он не уступает тому-же огру с окттри. вот бенчмарк c 4096 entity в сцене (без инстансинга) (http://axelynx.googlecode.com/files/EntityCostBenchmark10.zip)

    #3
    11:29, 9 янв 2012

    HolyDel, а пару скринов или видео добавить в 0'ое сообщение религия не позволила что ли?

    По теме: ничего интересного по скринам/видео не увидел, по описанию аналогично - есть лишь пара интересных фич, всё остальное из азов, в общем-то. А раз нет куллинга - всё вообще плохо. Какова вообще цель создания всего этого? Где предполагается применять?

    Кстати, ты Требования к темам в разделе Проекты читал вообще? Судя по тому, что ты даже забыл написать что это вообще такое, помимо того что "создаст мастера для студии 2010 и codeblocks - а", видимо, не читал. Будь добр, почитай, и оформи как надо. Уж как минимум напиши хотя бы:
    >Краткое описание проекта (название, жанр, особенности).
    >Описание должно давать только общее представление о проекте (2-3 абзаца), подробности предоставляются ссылкой или после основной части.

    #4
    12:12, 9 янв 2012

    Зачем нужно было пихать в архив огромный sdf-файл, который студия может сама создать? Откомпилированные Debug версии тоже не нужны. Не нашёл нормальных примеров, где можно побегать и попрыгать. Только текст и крутящийся параллаксный куб с наростами.
    В общем, не заметил ничего, чего не может OpenGL 2.0.

    #5
    13:08, 9 янв 2012

    slava_mib
    > HolyDel, а пару скринов или видео добавить в 0'ое сообщение религия не
    > позволила что ли?
    добавил.

    slava_mib
    > Кстати, ты Требования к темам в разделе Проекты читал вообще?
    нет :) почитал - поправил.

    slava_mib
    > Какова вообще цель создания всего этого? Где предполагается применять?
    применят планируется для небольших технодемок. я поэтому и не пишу, что это игровой движок. там нет классов типа Player, InvertaryItem и что то вроде этого. Есть меши, текстуры, ноды сцены. материалы. Из-за небольшой прослойки между гапи и клиентским кодом мы имеем довольно небольшой оверхед. Цель создания движка - опыт, наличие удобного инструмента для быстрого создания какой-нибудь небольшой графической демки. Цель расположения на сайте - показать людям, что есть такой вот инструмент, может кому понравится. Ну и просить потестить демки тут, а не в других темах :)

    > всё остальное из азов, в общем-то. А раз нет куллинга - всё вообще плохо.
    фрустум куллинг есть. нет иерархической разбивки. по баундинг сферам. ну да - в основном азы. но библиотека то еще пишется.

    gammaker
    > Зачем нужно было пихать в архив огромный sdf-файл, который студия может сама
    > создать?
    пардон. мой косяк.
    > Откомпилированные Debug версии тоже не нужны.
    ок. учту.

    >В общем, не заметил ничего, чего не может OpenGL 2.0.
    будет. но позже :)

    #6
    0:31, 10 янв 2012

    посмотрел скрины, видео, примеры, скажу честно, пока не зацепило. Но думаю, если добавите хороший инструментарий и плагины к  разнообразным редакторам, то думаю у ващего детища найдутся свои почитатели, ну а там кто знает =). Да и еще как говорит мой знакомый "я люблю, когда разработчик сам пользуется своим инструментом", так что если вы сами что-то  на нем сделаете, то это будет еще один плюс вашему проекту. В общем удачи вам.

    #7
    1:51, 25 янв 2012

    terrorsl
    > В общем удачи вам.
    спасибо!

    Изображение

    новая версия.

    пофикшена ошибка с MRT
    пофикшена ошибка в шейдере паралакса
    пофикшена ошибка в проигрывании феоры (под mingw так и не работает)
    пофикшена ошибка в инстансинге

    добавлен ряд старых сэмплов
    начата работа над справкой по движку и по шейдерам (в архиве они есть).

    версия фулл (с прекомпилированными статическими либами, 96 метров)
    http://axelynx.googlecode.com/files/axelynx_106_full.exe

    версия лайт( без либ, 40 метров):
    http://axelynx.googlecode.com/files/axelynx_106_lite.exe

    #8
    9:42, 28 янв 2012

    Hartmann
    > Никогда не понимал зачем чуть ли не во всех движка поддержка такой кучи
    > форматов, когда достаточно было бы dds контейнера, ну и jpg можно еще.

    А PNG? PNG же нужен, там альфаканал

    #9
    10:12, 28 янв 2012

    >>А PNG? PNG же нужен, там альфаканал
    DDS поддерживает альфаканал

    DDS - альфаканал, мипмапы, кубемапы, 3д, float-форматы, аппаратная декомпрессия (S3TC)
    JPG - сжатие полноцветных рисунков, фото (особенно если размер дистрибутива лимитирован)
    все, остальное ненужно :)

    #10
    10:37, 28 янв 2012

    Hartmann
    > DDS поддерживает альфаканал

    А я не знал. Думал просто формат текстуры от Microsoft DiretX.. Да и не видел я у себя в редакторе возможность сохранять DDS да еще и с альфой.. Щас посмотрю..

    Действительно, возможность такая есть. Только есть ли поддержка в движках? В Конструкте, например, я юзаю PNG.

    А какие параметры оптимальные задавать при сохранении если я хочу с прозрачностью или альфой - стекло например - сохарнить?:

    #11
    23:53, 8 фев 2012

    вот еще пара скриншотов:
    Изображение
    Изображение
    Изображение

    #12
    0:50, 6 июля 2012

    Доброго времени суток.

    Выкладываю демку физики:
    скрин:
    Изображение

    ссылка (по хиту левой кнопки мыши спаунится бокс и летит в направлении камеры):
    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.

    Чем вы можете помочь проекту? Самое простое - просто тестировать демки.
    Мне важно проверять их на максимально широком спектре оборудования (удовлетворяющего системным требованиям).

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

    Если кто решит помочь с написанием кода самого движка / сэсплов, то тут уже можно вести речь о скромной денежной компенсации с моей стороны :)

    ну вот. такие дела.

    #13
    19:51, 6 июля 2012

    Учитывая что за полгода практически ничего не изменилось, то я бы планировал примерно 2016-2019 года, где-то так.

    #14
    21:48, 6 июля 2012

    > В этом плане вырабатывается философия движка:
    > 1)
    > ...
    > 7)

    неплохая философия.

    Страницы: 1 2 3 4 Следующая »
    ПроектыФорумУтилиты

    Тема в архиве.