Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/matthewpoletin/liman
OpenGL 3D rendering engine
https://github.com/matthewpoletin/liman
3d cpp game-engine opengl
Last synced: about 1 month ago
JSON representation
OpenGL 3D rendering engine
- Host: GitHub
- URL: https://github.com/matthewpoletin/liman
- Owner: matthewpoletin
- Created: 2015-08-17T14:42:59.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2018-11-25T11:57:43.000Z (about 6 years ago)
- Last Synced: 2024-07-30T15:23:25.745Z (5 months ago)
- Topics: 3d, cpp, game-engine, opengl
- Language: C++
- Homepage: http://matthewpoletin.ru/projects/liman
- Size: 2.79 MB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Игровой движок Liman
* Полная информация [проекте](http://matthewpoletin.ru/liman);
* Список задач по проекту в [трелло](https://trello.com/b/g1HdHrUA).
* Мои [прочие проекты](http://matthewpoletin.ru);## Достигнутые Особенности
* Базовая логика, физика, столкновения
* Прорисовка двумерных объектов
* Загрузка различных проектов
* Расширяемая система актеров## Начало работы
* Создайте пустую папку
* Склонируйте туда решение
* Перейдите к ```Liman/BuildScript```
* Запустите build-vs2015 или build-vs2013
* Вернитесь к ```Liman``` и откройте Liman.sln## Структура проекта
* ``Core`` Ядро движка
* ``Actors`` Актеры (игровые объекты), основанные на расширямых компонентах;
* ``Actor`` Игровой объект мира
* ``ActorComponent`` Интерфейс компонента актера
* ``TransformComponent`` Компонент трансформации
* ``ActorFactory`` Фабрика для создания актёров
* ``Subsystems`` Осонвные подсистемы для обеспечения работоспособности
* ``Ipnut`` Подсистема ввода
* ``Graphics`` Графика
* ``Game`` Библиотека для создания двумерных игр на движке
* ``Physics`` Подсистема физики
* ``Collisions`` Подсистема столкновений
* ``LimanEditorDLL`` Библиотека для обеспечения работоспособности редкатора
* ``LimanEditor`` Редактор игрового мира (в разработке)## Список основных задач
* Поддержка позиции мыши
* Добавить поддержку контроллеров (включая настройки)
* Компонент анимации
* Система событий### Пример проекта на движке
```C++
#include "Game.h"using namespace liman;
int main(int argc, char** argv)
{
liman::Game* pGame = new Game();pGame->VInit();
while(pGame->VGetState() == Application::State::S_Running)
{
pGame->VDoLoop();
}pGame->VDeInit();
return 0;
}
````## Используемые библиотеки
| Название | Назначение | Применяемые Модули | Версия
|----------------------------------------------------|---------------------------------------|--------------------------|-------------
| [stb](https://github.com/nothings/stb) | Загрузка изображений (png, jpg, etc.) | stb image | v2.02
| [glfw](http://www.glfw.org/) | Работа с OpenGL, вводом | | v3.1.1
| [glew](http://glew.sourceforge.net/) | Расширения для OpenGL | |
| [glm](http://glm.g-truc.net/0.9.7/) | Математика для OpenGL | |
| [tinyxml2](https://github.com/leethomason/tinyxml2)| Работа с форматом xml | |