1
openTk를 사용하여 첫 번째 프로젝트를 진행하고 있습니다. 저는 3D 모델 회전을위한 가상의 arcball을 만들고 있습니다. 잘 작동하지만 모델과 함께 회전하지 않는 원을 추가해야합니다. 이 원은 arcball을 시각화해야합니다. 회전을 달성하기 위해 내 코드는 다음과 같습니다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 영향을받지 줘야 원을 그리는 방법을 몇 가지 방법이 있는지 묻고 싶다 (화면에 같은 위치에있을 것입니다).
그들이 과거에 해왔 던 방식으로 ... 일반 Projecton 행렬을 사용하여 모든 3D 물건을 렌더링 한 다음 "2D 행렬"로 바꾸고 나머지 UI를 렌더링해야합니다 – mpen