Я использую OpenTK (C #), но также приветствуются предложения OpenGL.
У меня есть список точек, сгенерированный итерацией, имеющий 1 градус на точку вокруг центральной точки, что означает, что есть 361 точка, включая центральную точку.Список точек может отличаться при разных подходах, это нормально.Я могу нарисовать круг с помощью простых шейдеров Vertex и Fragment.Как можно изменить фрагмент и / или вершинный шейдер, чтобы получить гладкий круг.
Вершинный шейдер:
#version 330
in vec3 vPosition;
in vec4 vColor;
out vec4 color;
out vec4 fPosition;
uniform mat4 modelview;
void main()
{
fPosition = modelview * vec4(vPosition, 1.0);
gl_Position = fPosition;
color = vColor;
}
Фрагментный шейдер:
#version 330
in vec4 color;
in vec4 fPosition;
out vec4 outputColor;
void main()
{
outputColor = color;
}
Код C #:
GL.DrawArrays(PrimitiveType.TriangleFan, 0, points.Length);