My honours project for my Computer Games Technology degree was focused on the procedural generation of trees, and best emulating the natural growth process using the Space Colonization algorithm and realistic natural influences such as phototropism, genetic variation, and soil fertility. This application was developed in C++, using DirectX, and imGUI.
This tool was developed with the automation of growth across large environments in mind, so that environmental variables can be included in the algorithm and will meaningfully influence the growth of trees- certain areas with a lack of light will stunt growth, or cause tropism towards the nearest light. These models could indicate to an artist what kind of tree models would be most appropriate for different geographical areas, and provide base skeletons/models for artists to work off of.
Ensuring that the growth of a huge number of trees also led me to threading the process and optimising the space colonization algorithm as best I could. Tree models are generated using the geometry shader.