improved screenspace/adaptive subdivision for lower memory and faster calculation.
Just had a quick thought how adaptive subdivision could use even less memory and calculate quicker.
As well as the tesselation being based on pixels, it could also be based on displacement map brightness. So basically areas where the displacement map with more detail would get more subidivision than areas which are all one colour. A solid black (no displacement) would get no subdivision.
4 Comments
Yes, this would be very helpful. It should be based on slope/derivative/gradient. Example, where the distant mountains need more resolution for intricate peaks, whereas the ground closeby is modulated by smooter sand waves. Noise can be shaped with power curves where high contrast mountains are produced in chunks along with flatter smoother valleys. This is most useful for procedural textures with practically infinite resolution. Pregenerated texture files do not have enough resolution to showcase this potential.
in what displacement scenario would this be beneficial? because this doesn't really make much sense to me at all..
what does the height of a displacement have to do with how much geometry it needs to be displaced? imagine a terrain heightmap generated from world machine, you're suggesting that the most tesselation would happen at the very peak of the mountaintop, where everything along the slope (where the majority of the detail is at) would get less, until you reach the foothills where there is virtually no tesselation happening at all.
* @testure * Yes you're right. Updated to get my point over more clearly (hopefully).
* @3d illusions * you'd want to do it based on something like how much contrast there is. For example, all black and all white requires very few vertices to represent it, while white noise requires more detail to represent it. However, there's still a problem with this, and that's procedural textures. You'd probably want to do some sort of pre-processing pass or do some possibly expensive calculation to figure out the contrast.