3D Spatial Algorithms

       
Company
   Academic Project
    Engine
   Custom engine based on GLFW
Platform
   Windows PC
    Skills
   C++, OpenGL, GLSL, Linear Algebra
Role
   Graphics Engineer
    Responsibilities
   Implementing robust and flexible spatial algorithms

Features

  • Bounding volume hierarchies
  • Spatial partitioning: Octree

Bounding Volume Hierarchies

A top-down hierarchy using axis-aligned bounding boxs.      1) Second depth.      2) Forth depth.      3) Showing all depths.
1) A oriented bounding box 2) Forth depth of a top-down hierarchy using bounding spheres.

Octree

Octree is a tree data structure in which each internal node has exactly eight children. It is used to partition a three-dimensional space by recursively subdividing it into eight octants.      1) First depth.      2) Second depth.      3) Third depth.

Sorce Code

Used External Libraries

  • GLEW: The OpenGL Extension Wrangler Library
  • GLFW: An OpenGL library
  • GLM: C++ mathematics library for OpenGL Shading Language
  • PFD: A free C++11 file dialog library
  • STB: Public domain libraries for C/C++
  • ImGui: Bloat-free Immediate Mode Graphical User interface for C++
  • Assimp: A library to import and export various 3d-model-formats

References

  • learnopengl.com
  • Real-Time Collision Detection