Skip to content

xDUDSSx/opengl-engine

Repository files navigation

Floating islands

A OpenGL C++ engine

Semestral project for the BI-PGR class at Czech Technical University in Prague

A game engine hosting a fictional floating island scene written from scratch using OpenGL and FreeGlut. This project was written for learning purposes and perhaps hosting it publicly will help someone trying to tackle similar topics.

Note that the project doesn't have a license yet, consider everything "all rights reserved", especially the resources (models / textures), do not redistribute them.

Controls

UI

There are many settings in the UI of the program realized using Dear ImGui. There are 4 windows:

  • Settings - General scene parameters and settings.
  • Inspector - Information and parameters of the currently selected object
  • Scene Graph - A tree showing the scene graph structure with an option to select specific objects.
  • Active camera - Information and parameters about the currently active camera

General

RMB
Select object
F1
Camera 1
F2
Camera 2
F3
Camera 3 (Airship)
ESC
Exit

Camera controls

F
Switch between pivot and FPS camera modes

Pivot mode

LMB Drag
Rotate camera around the pivot point
MMB Drag
Move the pivot perpendicular to the camera's direction

First person mode

W, S, A, D
Move camera
LMB Drag
Look around (mouse has to be pressed)
Scroll up
Increase speed
Scroll down
Decrease speed
Shift Hold
Speed boost