Overview


This project was created during a class. We already had the basics of the engine, and the goal was to add some features to either optimize the engine or add a new functionality. The project is currently simplistic, but I plan to improve it over time.

Main Features


Optimization - Batching

>

To avoid having too many GPU command calls, I used the batching system to reduce the number of calls. Objects of the same category are grouped in a layer and it is the content of the layer that is sent to the GPU.

Collision Detection

>

The contact between each object is calculated every frame. To avoid testing for contact between objects that are too far apart, I used a square quadtree to group the objects into cells, and only objects in the same cell will be tested for collision.

Regionalization

>