Ok, I see two ways to go about this:
1) Use a LOD node with with a different group node for each range, but the same base model is added to each group node. So you still retain only one instance of the model. Then you can apply the different shaders to each group node.
2) Compute the distance of the viewpoint to the object within the vertex shader and use that as a way to dynamically switch between simpler and complex computations.
I would consider method 1 more ideal, but it might be more difficult to setup. Also, if you have different shaders applied to various sub-parts of the model, then method 1 won't work.
|