private void Render(object sender, GlControlEventArgs e) { if (_shader == null) { return; } Gl.Clear(ClearBufferMask.DepthBufferBit); Gl.MatrixMode(MatrixMode.Modelview); var v = _cameraHelper.CameraMatrix; var u = Matrix4x4.CreateRotationX(Mathf.ToRadian(90)); var m = u * v; _shader.M = m; FiguresHelper.Draw3DCross(50f, 1f); Figure3DHelper.DrawSphere(15, 20, 20, true, Colors.Yellow); Gl.LineWidth(1); Figure3DHelper.DrawSphere(15, 20, 20, false, Colors.Red); _satelite.Draw(); }
private void DrawSphere(Vector2 pos, Vector2 v, Vector2 a, Color color) { var t = Matrix4x4.CreateTranslation(new Vector3(pos, 0)); var vM = _cameraHelper.CameraMatrix; _shader.M *= t * vM; Figure3DHelper.DrawSphere(2, 20, 20, true, color); }