Skip to content

A self-taught tutorial on what uniform spatial partitioning is, spatial hashing, and voxel grids using C++ with OpenFrameworks (OpenGL wrapper).

Notifications You must be signed in to change notification settings

DavidGiraldoCode/t-spatial_partitioning

Repository files navigation

Obstacle Detection and Avoidance in Boids using Ray-Voxel Intersection

Without Avoidance With Avoidance

Without (left) and with (right) obstacle avoidance using a rotation operator

Project Overview

Prototype an obstacle Detection and Avoidance algorithm using ray-voxel intersection for boids in the OpenGL-based library OpenFrameworks in C++, to imform the future implementation of a more robust solution in Unity using compute shaders.

Build instructions for XCode on Mac

  1. To run this project, first Download OpenFrameworks source code.
  2. Then, move inside the myApps folder inside the OpenFrameworks folder. You need this to have access to the OpenFrameworks header files.
cd openframeworks_version_####/apps/myApps/
  1. Only inside you can now clone the repo:
git clone https://github.com/DavidGiraldoCode/t-spatial_partitioning.git
  1. Open the XCode project

Learning Objectives

  • Develop efficient spatial data structures for collision avoidance.
  • Implement ray-voxel intersection test for obstacle detection

Key Sections

  • Session Notes: Detailed breakdowns of what is implemented, code explanations, and self-quizzes to reinforce understanding.
  • Technical Challenges: List of problems encountered and solutions; documented repeated issues, solutions, knowledge gaps, and relevant resources.
  • Review and Reflection: Summaries, progress reflections, future work, and lingering questions.
  • DevLogs and GIFs: GIF of the progress (soon to be migrated to session Notes).
image image

About

A self-taught tutorial on what uniform spatial partitioning is, spatial hashing, and voxel grids using C++ with OpenFrameworks (OpenGL wrapper).

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published