
Починил нормали, Заменил верхний алгоритм генерации шума на более адекватный, сгладил горизонт, научил шейдер смазывать границы между текстурами. Ужал код класса до 500 строк. Yeahh... Но какой же все таки стремный результат. Надо сочинять продавливатель рек и какой-нибудь генератор растительности.
else if(input.position2>=21.5f && input.position2<34.5f){
float4 diffuse = tex2D(lmountainSampler, input.texCoords);
return diffuse * lit * lightColor;}
else if(input.position2>=34.5f && input.position2<35.5f){
float4 diffuse1 = tex2D(lmountainSampler, input.texCoords);
float4 diffuse2 = tex2D(mmountainSampler, input.texCoords);
float4 diffuse =(input.position2-34.5f)*diffuse2+(35.5f-input.position2)*diffuse1;
return diffuse * lit * lightColor;}
else if(input.position2>=35.5f && input.position2<49.5f){
float4 diffuse = tex2D(mmountainSampler, input.texCoords);
return diffuse * lit * lightColor;}