Relict Engine: Формат Статичного меша
Сегодня без краткого списка изменений, т.к. все время было посвящено формату статичного меша. В результате получилось следующее:
Статичный меш умеет:
Стандартные вершины, индексы, нормали, тангенсы и битангенсы, а так-же 8 каналов текстурных координат (как 2д так и 3д).
Кроме того: умеет в лоды и мульти материал (неограниченное кол-во). И одну конвекс коллизию (опциональный блок).
Сам формат представляет из себя:
Заголовок формата (идет после RAT заголовка)
Блок больших данных. В котором хранится вся информация о вершинах и их атрибутах.
А так-же блок офсетов, для формирования лодов и формирования буферов для рендера.
В дальнейшем туда добавится еще блок Сокетов, однако на данный момент решил пока их не делать (ибо пока нет обработки трансформов на уровне сцен, как и самих сцен, собственно).
Как заметно на скриншотах в формате довольно много "дырок", однако, как я говорил в пред. постах - это сырой формат без обработки. Его задача быть загруженным и обработанным с наименьшим кол-вом телодвижений, как программиста так и процессора. Обработка, сжатие, и, возможно, криптография будут добавлены позднее в RelictFS (но это будет уже на поздних этапах. Сейчас в ней нет никакой необходимости).
Конечно формат еще будет претерпевать в дальнейшем кое-какие модификации (например трековые анимации туда рано или поздно добавятся), но по большей части он таким и останется, поэтому не вижу смысла больше писать о нем (ну кроме как упоминаний в Девлоге).
Небольшие новости по Linux сборке:
Между делом придумал, как учитывать "внешние" потоки в ThreadManager. Следовательно теперь мы можем спокойно подключить GLFW и не заниматься ерундой. И наверное именно GLFW я и займусь в ближайшее время. А следовательно, в относительно скором времени, можно уже будет показать работу движка в графике (хоть и с простейшими шейдерами и без текстур). Но это в любом случае желательно сделать сейчас, чтобы убедится, что я не "наепался" в данных формата. Ну и заодно посчитать время на обработку вершин из RAT для передачи уже непосредственно в рендер.


Лига Разработчиков Видеоигр
8.9K постов23.2K подписчик
Правила сообщества
ОБЩИЕ ПРАВИЛА:
- Уважайте чужой труд и используйте конструктивную критику
- Не занимайтесь саморекламой, пишите качественные и интересные посты
- Никакой политики
СТОИТ ПУБЛИКОВАТЬ:
- Посты о Вашей игре с историей её разработки и описанием полученного опыта
- Обучающие материалы, туториалы
- Интервью с опытными разработчиками
- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе
НЕ СТОИТ ПУБЛИКОВАТЬ:
- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры
- Посты, единственная цель которых - набор команды для разработки игры
- Посты, не относящиеся к тематике сообщества
Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.
ЗАПРЕЩЕНО:
- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции
- Выдавать чужой труд за свой
Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.
О РАЗМЕЩЕНИИ ССЫЛОК:
Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:
- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества
- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз
- Cсылка размещается в формате: "Страница игры в Steam: URL"