[maxvertexcount(128)]
void geom (point v2g input[1], inout TriangleStream<g2f> outStream)
{
    g2f o;
UNITY_INITIALIZE_OUTPUT(g2f, o);

float4 pos = input[0].vertex;




for (int i = 0; i < 16; i++)
{
float radius = 1.0 + (0.5 * i);
for(int j = 0; j < 6 + (6 * i); j++)
{
float a = radius * cos(j * 0.785 * (1 / (i + 1 )));
float b = radius * sin(j * 0.785 * (1 / (i + 1 )));
pos.x = a + pos.x ;
pos.y = b + pos.y;
pos.z = SimplexNoise(pos.z);
o.pos = UnityObjectToClipPos(pos);
//o[i].col = input[0].colWorld;
outStream.Append(o);

}
}
}

今だとこんな感じです。
特にRestartStripしていません。