我使用 Rust 语言和 Glium 库。我想在屏幕上显示大量的圆圈,但我不知道该怎么做。
有一个从三角形创建圆的选项,或者我可以用片段着色器绘制它们,即从每个圆的中心到屏幕上每个点的距离,如果它小于半径,则绘制它在所需的颜色。为清楚起见,这里是我如何绘制一个圆圈的示例:
vec2 point = vec2(200.0f, 200.0f);
float dist = distance(point, gl_FragCoord.xy);
if (dist < 200)
gl_FragColor = vec4(0.0f, 1.0f, 0.0f, 1.0f);
哪种方法会更快?有没有更好的选择?每个圆圈的大小和颜色会在运行时发生变化。