0
я в настоящее время имеющий пиксельный шейдер:HLSL: Вырезать текстуры радиально
float4 PixelShaderFunction(float2 coords: TEXCOORD0) : COLOR0
{
float4 color = tex2D(Sampler0,coords);
float dx = coords.x - 0.5f;
float dy = coords.y - 0.5f;
float tpos = dx * dx + dy * dy;
if(tpos <= 0.25f && tpos > 0.25f-width)
return color;
else
return float4(0.0f, 0.0f, 0.0f, 0.0f);
}
Таким образом, я могу нарисовать круг. Но как я обрезаю круг, например. нарисовать круг 30 градусов? Или 60 градусов один? Спасибо.
Спасибо! Решил его: 'float degree = -180 + dg; if (радианы (градусы)> atan2 (dy, dx)) цвет возврата; еще ... ' – Gallardo994