Discrete Level Of Detail

Ok, First thing:



BillboardNode extends Node. This will be the lowest level of detail and simple billboard that always faces the camera. The “clever” bit about this, is the orientation of the node only occurs during it’s draw phase. That means that it won’t be oriented if it’s culled. So, after I finish this, I will have Particles extend it.



After I finish this I will work on:

Imposter. It will extend TriMesh and typically be put into a BillboardNode. Imposter will be nothing more than a quad with a texture applied. However, the texture will be of a model that’s been dynamically created via render to a texture. So you can update the texture every 1/2 second or so (rather than rendering a model a couple hundred times a second).



Then SwitchNode. This node will have multiple children. Only one of these children are active at a time, the active one is updated and rendered. The child that is active is determined by the distance from the switch node and the camera position. So, you would create say three models (MD2 for example sake) Dr Freak1, DrFreak2, DrFreak3, DrFreakImposter. 1 would be a high polygon count model, 2 a little lower, 3 pretty low, and imposter (see above). As the camera gets further away from the switch node, the active child is switched from 1 to 2 to 3 to imposter.



Any comments?

Billboard is finished. Quad is in place, Imposter will extend Quad and set textures as needed.



Right now I’m working on the switch node.

Initial version of discrete level of detail is finished. There is a test in CVS. In the test there are 4 versions of the sphere, one very detailed to a low detail model. Back up away from the sphere, and you can watch the sphere models being swapped out on regular intervals as your distance away increases.



Imposters are not complete yet. And I am going out of town tomorrow morning… tonight… real early tomorrow. What the hell is 3:30 AM anyways? :slight_smile: I’ll get back to Imposters when I get back in a week.