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);
}
そこで、この回転の影響を受けない(画面上の同じ位置にある)円を描く方法があるかどうかを尋ねたいと思います。