Beispiel #1
0
 /// <summary>
 /// Отрисовка карты в главном окне с выставлением камеры на начальное положение.
 /// </summary>
 public void DrawSeaMapWithResetCamera()
 {
     if (_graphicMap != null)
     {
         _currentCamera = (MGCamera)_initialCamera.Clone();
         _isDrawMap     = true;
     }
     else
     {
         MessageBox.Show("Не загружена карта!", "Процесс отрисовки карты", MessageBoxButton.OK, MessageBoxImage.Error);
     }
 }
Beispiel #2
0
        /// <summary>
        /// Инициализация OpenGL.
        /// </summary>
        private void InitOpenGl()
        {
            // Получаем ссылку на элемент управления OpenGl.
            OpenGL gl = OpenGlControl.OpenGL;

            // Установка порта вывода в соотвествии с размерами элемента Screen.
            gl.Viewport(0, 0, (int)OpenGlControl.ActualWidth, (int)OpenGlControl.ActualHeight);

            // Настройка проекции.
            gl.MatrixMode(MatrixMode.Projection);
            gl.LoadIdentity();
            gl.Ortho2D(1, OpenGlControl.ActualWidth, 1, OpenGlControl.ActualHeight);
            //gl.Perspective(120, (float)OpenGlControl.Width / (float)OpenGlControl.Height, 0.1, 200);
            gl.MatrixMode(MatrixMode.Projection);
            gl.LoadIdentity();

            // Настройка параметров OpenGl для визуализации.
            gl.Enable(OpenGL.GL_DEPTH_TEST);

            // Инициализация камеры.
            _currentCamera = (MGCamera)_initialCamera.Clone();
        }
Beispiel #3
0
 private void ButtonInitialCamera_Click(object sender, RoutedEventArgs e)
 {
     _currentCamera = (MGCamera)_initialCamera.Clone();
     _isDrawMap     = true;
 }