Ok I have a textured plane class that creates a plane on one axis only - it's namely for sky and water. However I realize that I could also use this class for bushes, grass, and trees as well. There are several ways to do this and I'm curious as to what some of you 3D programmers think is the best way.
1. Allow the programmer to create his/her own vertices for the quad by making the init() function in the class virtual. This would force the programmer then to derive from the class which is not my favorite design model and introduces a plethora of new problems.
2. Simply rotate the quad into the correct position w/o changing the default orientation of the vertices. Problem here is you must rotate the thing every frame and if you have 100 bushes...that's a helluva lot of rotations just to draw foliage.
3. Hard code position values into the init function. The programmer would then pass one of my plane constants to the init function which would then create the vertices for that type of plane (for instance PLANE_NEGX,PLANE,POSX, etc. etc.)
My guess is number 1 or number 3 is probably the way to go...or perhaps there is another way I've not yet described.
Your suggestions please.