CS 148 Final Project Notes
CS 148 Final Project Notes Next steps:
- Allow the tree to grow iteratively
- Add growth factors to the tree (tree age, light at a node)
- Add lighting to the scene, connect it with the growth factor
Other goals:
- Make the tree bumpy (draw a mesh, perturb)
- Some kind of terrain
- Make an axial tree
Getting started with OpenGL in XCode http://lnx.cx/docs/opengl-in-xcode/
GLFW http://www.glfw.org/documentation.html https://chrischoy208.wordpress.com/2014/01/05/how-to-setup-xcode-5-project-with-glfl-and-opengl/
Terrain generation http://www.codeproject.com/Articles/14154/OpenGL-Terrain-Generation-An-Introduction http://vterrain.org/ http://www.mbsoftworks.sk/index.php?page=tutorials&series=1&tutorial=24
Procedural plant generation http://algorithmicbotany.org/
Easing function from https://github.com/jesusgollonet/ofpennereasing/blob/master/PennerEasing/Cubic.cpp
Geometry Read about the halfedge data structure from openmesh, looks cool but got stuck compiling it, and didn’t need it. Used my TriangleVertexSet, which is sufficient for my simple needs.
Terrain generation http://www-cs-students.stanford.edu/~amitp/game-programming/polygon-map-generation/
FUTURE DIRECTIONS It would have been fun to give the joints some rotational flexibility and use inverse kinematics to allow trees to yearn toward the sun.
How should stepping forward go? Each branch’s development can be modeled as from 0 to 1. At 1: - Its length and width have reached their full potential - It has added the complete number of children that it will have.
For now, I’ll just say that every step has constant progress. Later, this will be modulated by the nutrients available (eg light, soil).
For now, I’ll
Paper: What I did
- Got OpenGL working on OS X. This was a big of a challenge in itself. Not glamorous, but interesting to learn more about the interface between the Cocoa frameworks and OpenGL, how to link libraries in XCode.
- Learning modern OpenGL: EVO, VBO, VAO
- Tree research.
- Axial form. Deciduous / conifer. Talked with landscape architect partner!
- Golden ratio rotation matrix.
- Iterative development
- Basic setup
- Relied on HW3 code and learnopenGL
- Heavy matrix lifting
- Recursive work on generating