Skip to content

firej/ogl2

Repository files navigation

OGL2

My OpenGL Engine v2

Описание

OGL2 - это 3D движок на OpenGL с поддержкой:

  • First-Person камеры с управлением мышью и клавиатурой
  • Skybox
  • Загрузки и рендеринга 3D моделей (LWO формат)
  • Системы частиц
  • Звукового движка (OpenAL)
  • Консоли разработчика

Требования

macOS

  • macOS 10.14 или новее
  • Xcode Command Line Tools
  • CMake 3.10 или новее

Linux

  • GCC или Clang
  • CMake 3.10 или новее
  • OpenGL development libraries
  • GLFW3 development libraries

Сборка

  1. Клонируйте репозиторий:
git clone <repository-url>
cd OGL2
  1. Создайте директорию для сборки:
mkdir build
cd build
  1. Сгенерируйте Makefile с помощью CMake:
cmake ..
  1. Соберите проект:
make

Запуск

После успешной сборки запустите исполняемый файл:

cp -r ../OGL2/data ./
./OGL2

Управление

  • WASD - движение камеры (вперед/назад/влево/вправо)
  • Мышь - поворот камеры
  • F - вернуться в начальную позицию
  • R - проигрывание звукового файла
  • F1 - показать/скрыть статистику
  • F2 - переключить режим отображения (заливка/каркас)
  • F3 - включить/выключить отсечение граней
  • Esc - выход из программы
  • ` (тильда) - открыть консоль разработчика

Особенности

Поддержка Retina дисплеев

Движок автоматически определяет размер framebuffer'а для корректного отображения на дисплеях с высокой плотностью пикселей (Retina).

Консоль разработчика

Встроенная консоль позволяет выполнять команды во время работы приложения.

Структура проекта

OGL2/
├── src/                    # Исходный код
│   ├── classes/           # Классы движка
│   │   ├── camera.cpp     # Система камеры
│   │   ├── objects.cpp    # Skybox и другие объекты
│   │   └── ...
│   ├── RenderScene.cpp    # Основной цикл рендеринга
│   └── main.cpp          # Точка входа
├── build/                 # Директория сборки
├── data/                  # Ресурсы (текстуры, модели, звуки)
└── CMakeLists.txt        # Конфигурация CMake

Отладка

Для отладки можно использовать следующие возможности:

  • Статистика FPS и позиции камеры (F1)
  • Консоль разработчика (`)
  • Каркасный режим отображения (F2)
  • Логи в файле build/data/log_file.log

About

my OpenGL Engine v2

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages