OCT: New library to work with octrees

Hi! I started a library to work with octrees in Processing called OCT. The first version is now uploaded and you can download it from the Contribution Manager or from here: https://github.com/thwegene/OCT, with a first set of examples. Any feedback/questions is welcome! Best, Thomas



  • @thwegene --

    This is remarkable, beautiful work! Thank you also for including it in the Contributions Manager to make it easy to install and try out from Processing.

    The examples are very impressive.

    Example 6, in particular, looks like a prototype towards "Minecraft for Processing." It took me a minute to figure out the keyboard / mouse combination before I started drawing, but then it was very enjoyable.

  • edited November 2016

    Two questions:

    1. I notice that your examples all focus on programmatically generated data. Given your library, how hard do you think it would it be for someone to serialize octree data in/out -- to save / load, for example, to JSON or some other format? My first impression is, it might not be very hard.

    2. You did a lot in your examples with click detection. How hard to you think it would be for someone to write platform collision detection against octrees? For example, implementing a simple rolling ball, or a Qbert style jumper, or a "Player" in the style of the PeasyCam first person demo.

  • edited November 2016

    Hi Jeremy,
    Thanks! It's nice to get some feedback! Maybe example 6 could be developed further with the help of an interface like controlp5 to be able to access more functions intuitively.

  • edited November 2016

    Regarding your two questions, I uploaded a new version of the library with the nodes and the octree serializable. Example 8 allows to save/load the octree. It could be developed further, but is it something like that you had in mind? I suppose the JSON format would work too but I have never used it. If a human has to read the file it would be better for sure.
    Regarding collision detection and other uses of octrees to speed calculations, that would be the next steps. For now, I'm not 100% sure how well this octree implementation is suited for that use, or what already exists out there, but I'm curious. I wanted to research a little bit on the subject to get a better sense of how things work, what are the challenges. It would be great if someone would look into that, maybe with some experience with these questions.

Sign In or Register to comment.