Ну деревья я еще в бэйсике понял как генерировать алгоритмом l-system, а вот цветочки попробую по алгоритмической ботанике. Главное одной поверхностью обойтись, что бы оно за один дип рисовалось.

Научил шейдер поверхность с наклоном более 40 градусов зарисовывать скалой.
float4 rock = tex2D(rocknSampler, input.texCoords);
//вычисляю кос угла между нормалью в этой точке и вектором(0,1,0)
float degcos = dot(input.normal,float3(0.0f,1.0f,0.0f));
if (degcos<0.75) {diffuse=rock;}//полная замена текстуры
if (degcos>=0.75 && degcos<0.8) {diffuse=20*(degcos-0.75)*diffuse+20*(0.8-degcos)*rock;}//смешивание с основной текстурой по краям
float4 color=saturate(diffuse * lit * lightColor+diffuse*ambient);
return color;}
