При отрисовке линий у них явно видно как они соскакивают, как рисовать нормально? Чтобы не было острых углов и линии были плавные?
float[] pointers = new float[4] {
0, 0,
300, 300
};
private void OpenGLControl_OpenGLDraw(object sender, OpenGLEventArgs args) {
OpenGL gl = args.OpenGL;
gl.Clear(OpenGL.GL_COLOR_BUFFER_BIT | OpenGL.GL_DEPTH_BUFFER_BIT);
gl.PushMatrix();
gl.EnableClientState(OpenGL.GL_VERTEX_ARRAY);
gl.VertexPointer(2, 0, pointers);
gl.DrawArrays(OpenGL.GL_LINES, 0, 2);
gl.DisableClientState(OpenGL.GL_VERTEX_ARRAY);
gl.End();
gl.PopMatrix();
}
private void OpenGLControl_OpenGLInitialized(object sender, OpenGLEventArgs args) {
OpenGL gl = args.OpenGL;
gl.ClearColor(0f, 0f, 0f, 1.0f);
}
private void OpenGLControl_Resized(object sender, OpenGLEventArgs args) {
OpenGL gl = args.OpenGL;
// Создаем ортографическую проекцию
gl.MatrixMode(OpenGL.GL_PROJECTION);
gl.LoadIdentity();
gl.Ortho(0, ActualWidth, ActualHeight, 0, -10, 10);
// Возвращаемся к модельной проекции
gl.MatrixMode(OpenGL.GL_MODELVIEW);
}
P.S. Мой метод (через VertexPointer) нормален для 2D графики? c# потянет такое? Планируется что надо будет отрисовывать десятки тысяч примитивов
Сборка персонального компьютера от Artline: умный выбор для современных пользователей