1
私はopenTkを使って私の最初のプロジェクトに取り組んでいます。私は3Dモデルの回転のための仮想アークボールを作成しています。それは正常に動作しますが、私はモデルで回転しない円を追加する必要があります。この円は、アークボールを視覚化する必要があります。 回転を達成するために私のコードは次のとおりです。OpenTKサークルローテーション
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);
}
は、だから私はこのrotattionの影響を受けないことがウィル円を描画するためにどのようにいくつかの方法があるかどうかお尋ねしたいと思います(画面上の同じ位置になります)。
これまで私はそれをやったことがあります...普通のプロジェクションマトリックスを使って3Dのものをレンダリングしてから、それをあなたの「2次元マトリックス」に置き換えて残りのUIをレンダリングするだけです – mpen