Я работаю над своим первым проектом с использованием openTk. Я создаю виртуальный аркбол для вращения 3D-модели. Это работает нормально, но мне нужно добавить круг, который не будет вращаться с моделью. Этот круг должен визуализировать аркбол.
Мой код для достижения поворота:
private void SetCamera()
{
GL.MatrixMode(MatrixMode.Modelview);
Matrix4 scale = Matrix4.Scale(magnification / diameter);
Matrix4 translation1 = Matrix4.CreateTranslation(-center);
Matrix4 rotation = Matrix4.CreateFromAxisAngle(axisOfRotation, angleOfRotation*(float)numericSensitivity.Value);
Matrix4 translation2 = Matrix4.CreateTranslation(0.0f, 0.0f, -1.5f);
if (rotationChanged)
{
oldRotation *= rotation;
rotationChanged = false;
}
modelview = translation1 * scale * oldRotation * translation2;
GL.LoadMatrix(ref modelview);
}
Поэтому я хотел бы спросить, есть ли способ нарисовать круг, который не будет затронут этим вращением (будет в том же положении на экране).