Значит косяк на атишных видюхах вот в этой строчке:
output.position = mul(input.position, matrixWorldViewProj);
Потому что судя по скрину шейдером меши унесло в неведомую даль, а нигде кроме, как этой строкой позиции вершин у меня не меняются.
Такой оттенок лучше?
twisted firefly
float3 pos=normalize(input.pos.xyz);
float grad=dot(pos,-lightDirection);
float3 sunnycoords=-lightDirection-pos;
float a=atan2(sunnycoords.x,sunnycoords.y);
float r=length(sunnycoords.xy)+0.001;
float b=1.9*sin(r-time-2.0*a);
b = (0.04125 + 0.01*cos(7.0*a +b*b) )/ r;
b = 0.57*b*b;
a=b+0.09 * sin(a + time);
float4 sunc = float4(b, a, 0.9*a, 1.0);
if(grad<0.996 && grad>=0.9){sunc=lerp(sunc,float4(0,0,0,0),(0.996-grad)/0.096);}
if(grad<0.9){sunc=float4(0,0,0,0);}
// возвращаем результирующий цвет пиксела
return sunc;