- 1,921
- 107
- 378
Как можно рисовать овал зная точки x1, y1, x2, y2? А именно что-бы овал состоял из линий(ещё я называю это полигонистым овалом/кругом). Именно максимально ванильным способом!
Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
MaximPixel написал(а):Как можно рисовать овал зная точки x1, y1, x2, y2? А именно что-бы овал состоял из линий(ещё я называю это полигонистым овалом/кругом). Именно максимально ванильным способом!
Dahaka написал(а):Что значит x1, y1, x2, y2? Овал задается координатами центра (x, y) и двумя радиусами.
Что может быть максимально ванильнее, чем шейдер, да?CoomingSoon написал(а):с помощью 2-х радиусов-большого и маленького. от большого отнимаешь маленький и получится кольцо. потом glFragColor и эти векторы. или как ты там собрался,я не знаю
float ring(vec2 pos, float radius1, float radius2) {
float r = sqrt(pos.x*pos.x + pos.y*pos.y);
return float(r > radius1 && r < radius2);
}
void main() {
vec2 pos = gl_FragCoord.xy / resolution.xy - vec2(0.5, 0.5);
pos.x *= resolution.x/resolution.y;
vec3 color = vec3(ring(pos, 0.3+0.09, 0.4));
gl_FragColor = vec4(color, 1.0);
}