A 3D procedural tree generation project.
This project demonstrates:
- 3D graphics rendering using OpenGL
- Procedural tree generation using recursive algorithms (in
tree.cpp
) - Interactive camera system with multiple control modes
- Basic lighting and shading
- If Visual Studio prompts you with "CMake Integration" dialog asking to "enable Visual Studio's CMake support with this workspace", choose "Do not enable"
- This project uses standard Visual Studio C++ project structure, not CMake
- Enabling CMake support may cause build configuration issues
The project uses the following libraries:
- GLFW 3.3: Window management and OpenGL context
- GLAD: OpenGL loader
- GLM: Mathematics library
- ImGui: Immediate mode GUI library for parameter controls and interface
- OpenMP: Used for parallel processing in tree growth calculations
- Set the Solution Configuration to "Debug" or "Release"
- Build Solution (F7 or ctrl+B)
- Run (F5)
The visualization features an interactive camera system with the following controls:
W/S
: Rotate camera down/up around focusA/D
: Rotate camera left/right around focus
Page Up/Down
: Move camera up/down verticallyLeft/Right
: Move camera left/right horizontally
Space
: Reset camera to default position and enable auto-rotationMouse Scroll
: Zoom in/out during auto rotation- Any movement key automatically disables auto-rotation