Peaks shaders — Cone
A field of spikes grown off a surface by Perlin noise, each spike a real cone built entirely in the vertex shader.
Every vertex of a unit cone carries an angle and a position along its length; every instance carries where its spike sits, which way it points, how long it is and what colour it takes. The vertex shader assembles the final 3D point from those two, so the whole field is one draw call regardless of how many spikes it holds.
The spike profile is a uniform, not a mesh: cone, droplet, tube or bulge are four different radius functions of the same parameter, which means the field changes character without anything being rebuilt.







