Comments
The hierachical model is a procedurally generated tree with some animatable properties. I've set the defaults to generate something reasonable but you can get nicer trees by increasing the branch depth. The neutral expression at length, age, wind, and gravity properties are animatable. The other properties can be changed freely at any time, but won't cause any immediate changes. You can scrub the age property back and forth to generate new trees. I implemented a bump mapping shader based off of the Blinn-Phone shader that uses a normal map texture to perturb the normals of rendered surfaces. In order to set a normal map texture, you can click "Load Bump Texture File" option to the File menu. The shader will also use the other texture for diffuse shading. (Note- vertex tangent information is only passed for revolution surfaces [needed to correctly orient normal data from the texture relative to the direction uvs are flowing])