Project

  • C++
  • OpenGL
  • Visual Studio
  • GitHub
  • Trello
  • Scrum

Gomu Gomu Engine is a video game engine created in the Master in Advanced Programming for AAA videogames at Universitat Politècnica de Catalunya (UPC). It was implemented in two iterations.

The first one was developed all by myself including the following features: FBX loading, drag & drop of textures and models, camera controls, log console as well as a monitor and configuration window.

The second iteration was developed in pairs adding the following new features: scene management, serialization, custom files, frustum culling (with quadtree), gizmos, materials with specular and diffuse maps and PBR Phong
Following these lines you can find the features implemented by me.

First Iteration

Basic engine

  • Loading of models and textures (drag & drop).
  • Basic camera.
  • Properties window: information about the model transform, its geometry as well as its texture information.
  • Performance window: FPS, frametime, memory consumption...
  • Configuration window: camera, textures, input and renderer settings.
Camera

Camera

Camera controls are implemented using Unity style. It supports moving the camera around, up/down, rotating, zoom in/out etc

Serialization

Serialization

All objects and scenes are serialized in json after the first loading.

Scene

Scene management

Ability to save to and load scenes from your files.

Custom Format

Custom files

Models, textures, materials and meshes are all converted into a custom file format in order to get better loading times.