
24 I Geometry Manipulation
to further states in the GPU. Depending on the optimization, the former can be
done on the client or in the GPU hull shader via setting the tessellation factor
to 0.
Another set of optimizations relates to normal calculations when using noise
functions. Calculating the normal of the produced vertices might be one of the
main bottlenecks, because one needs to obtain the nearby positions for each pixel
(on per-pixel lighting) or per vertex (on per-vertex lighting). This circumstance
becomes even further problematic when leveraging a computationally demanding
noise implementation. Take the example in the proposal by [Perlin