Skip to content

Evaluation Proposal

Petko Raychinov edited this page May 16, 2026 · 5 revisions

Project Overview

For my project in Advanced Rendering, I plan to implement a 3D collision detection system in my own custom C++ engine, which I made during the previous semester in the Rendering Engines course. The feature will focus on detecting collisions between simple primitives, such as OBBs, using the Separating Axis Theorem, while dividing the world into chunks using an octree structure. The goal is to create a minimal but functional collision system that reduces unnecessary collision checks through spatial partitioning.

Testing and Benchmarking

To evaluate the feature, I will run two main performance analyses. The first will compare naive O(n²) collision detection against the octree‑based approach as the number of objects increases. The second will examine how different octree configurations, such as maximum depth and minimum node size, affect performance and memory usage. In both cases, the baseline will be the engine running either without collision detection or using the naive method. All tests will be executed through a small benchmarking tool I will build myself, which will allow me to configure object counts, octree parameters, repetition counts, and random seeds, and will output the results in CSV format.

Sources

For the implementation, I will mostly rely on Christer Ericson’s Real‑Time Collision Detection for the theoretical foundations, along with online resources and tutorials that explain octrees and basic 3D collision math.

Ericson, C. & Sony Computer Entertainment America. (2005). Real-Time Collision Detection. In The Morgan Kaufmann Series in Interactive 3D Technology. Morgan Kaufmann Publishers. https://www.r-5.org/files/books/computers/algo-list/realtime-3d/Christer_Ericson-Real-Time_Collision_Detection-EN.pdf

GeeksforGeeks. (2020, January 9). Octree. Insertion and Searching. GeeksforGeeks. https://www.geeksforgeeks.org/dsa/octree-insertion-and-searching/

Skeffles. (2022, April 17). How 2D game collision works (Separating axis theorem) [Video]. YouTube. https://www.youtube.com/watch?v=dn0hUgsok9M

MacroPixel. (2021, November 13). Collision Detection (An overview) (UPDATED!) [Video]. YouTube. https://www.youtube.com/watch?v=oOEnWQZIePs

Clone this wiki locally