вторник, 19 сентября 2017 г.

Отчет по движку - 0

Решил пилить что-то типа отчета о том что сделано в движке. Раз в неделю или по настроению...

Движок находится в очень ранней стадии разработки и пока не пригоден для применения.

Серьезная работа над движком началась с 15 августа (на основе старого варианта, из которого было выкинуто 90% кода).... Именно с 15 августа я стал работать над движком практически каждый день. От 3 до 10 часов в день. То есть движку сейчас чуть больше месяца :)


На текущий момент движок разбит на следующие библиотеки:
- Engine - общий и основной код (в будущем код будет разбит на несколько библиотек).
- Math - математическая часть движка
- Renderer - абстрактная часть рендера
- RendererGL - OpenGL слой
И состоит из 12557 строк (сторонние библиотеки не считались), но постепенно процесс ускоряется (очень сложно начать, когда оно все еще плохо работает, а потом оно уже легче)

Из текущих возможностей пока что работает низкоуровневый рендер. Сделаны:
- вершинный, индексный и константый буферы
- формат вершин, стейты, рендер конвеер, шейдеры
- рендер в текстуру 
Плюс операции над матрицами, в том числе пространства. Вращения через кватернионы.

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


четверг, 14 сентября 2017 г.

И снова к движкам

После годового перерыва снова вернулся к движкописательству. Всеже юнити - это не то

Движок здесь
https://github.com/warzes/3DEngine

Уже 145 коммитов. но пока что не пригодно для вообще какого-либо использования.

Движок пишется на OpenGL рендер.

Есть некоторые требования к движку, из-за которых он и пишется.
В ближайшем будущем к движку будет писаться юнити-подобный редактор


Код движка время от времени проходит проверку через PVS-Studio (бесплатной версии).

Плюс тут прогнал его через https://bettercodehub.com/
Получил 5 из 10  (и то снизили за отсутствие автотестов, и за сторонние библиотеки (надо наверное в отдельный репозиторий пульнуть)