Skip to content
/ Trees Public

A GPU-Accelerated procedural tree modeling tool

Notifications You must be signed in to change notification settings

klingerj/Trees

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

99 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Trees

This project grows trees into clouds of attractor points to help model trees procedurally!

Here are a few videos hosted on Vimeo that showcase some more examples:
Tree growth
Growing a tree into a 3D model of my friend's head

This is a sequence of images describing the algorithm:

First, we place attractor points within a bounding mesh. Here's a helix for example:

Then, we iteratively grow the tree. In the gif below, I clicked the "Iterate Tree" Button, which will run the space colonization algorithm for the indicated 25 iterations.

Here's a previous iteration of the project where I grew tree branches into a heart shape:

Credits / Resources

  • LearnOpenGL for base code setup guidance.
  • GLAD for GL Loading/Generating based on official specs.
  • GLFW for simple OpenGL Context and window creation.
  • GLM for linear algebra library.
  • TinyObjLoader for header-only, fast OBJ Loading.
  • PCG32 for header-only, seeded random number generation.
  • Imgui for easy and awesome UI.
  • UPenn Course CIS 460 for some code organization ideas.
  • UPenn Course CIS 461 for some raytracing code. Credit to Adam Mally, the professor for these courses.

Papers referenced:

Self-organizing tree models for image synthesis

Modeling Trees with a Space Colonization Algorithm

TreeSketch: Interactive procedural modeling of trees on a tablet

About

A GPU-Accelerated procedural tree modeling tool

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published