Народный учебник по OpenGL

Агентство наружной рекламы ссылка. |

Урок 24. Лексемы, Расширения, Вырезка и Загрузка TGA - часть 16


      

У Вас должно быть, по крайней мере, две вершины для рисования линии (как подсказывает здравый смысл). Из левой части экрана мы перемещаемся вниз, вправо, и затем вверх (128 по оси y). 

 

Затем мы начинаем другую ломаную линию, и рисуем вторую рамку вверху экрана. Если Вам нужно нарисовать много соединенных линий, то ломаная линия определенно позволит снизить количество кода, который был бы необходим для рисования регулярных линий(GL_LINES).

 

  glLoadIdentity();                // Сбрасываем матрицу просмотра модели

  glColor3f(1.0f,1.0f,1.0f);       // Устанавливаем цвет в белый

  glBegin(GL_LINE_STRIP);          // Начало рисования ломаной линии

    glVertex2d(639,417);           // Верх Право нижней рамки

    glVertex2d(  0,417);           // Верх Лево нижней рамки

    glVertex2d(  0,480);           // Низ Лево нижней рамки

    glVertex2d(639,480);           // Низ Право нижней рамки

    glVertex2d(639,128);           // Вверх к Низу Права верхней рамки

  glEnd();                         // Конец первой ломаной линии

  glBegin(GL_LINE_STRIP);          // Начало рисования другой ломаной линии

    glVertex2d(  0,128);           // Низ Лево верхней рамки

    glVertex2d(639,128);           // Низ Право верхней рамки

    glVertex2d(639,  1);           // Верх Право верхней рамки

    glVertex2d(  0,  1);           // Верх Лево верхней рамки

  glVertex2d(  0,417);             // Вниз к Верху Лева нижней рамки

  glEnd();                         // Конец второй ломаной линии

 

А теперь кое-что новое. Чудесная GL команда, которая называется glScissor(x,y,w,h). Эта команда создает почти то, что можно называть окном. Когда разрешен GL_SCISSOR_TEST, то единственной частью экрана, которую Вы можете изменять, является та часть, которая находится внутри вырезанного окна. Первая строка ниже создает вырезанное окно, начиная с 1 по оси x и 13.5% (0.135...f) пути снизу экрана по оси y. Вырезанное окно будет иметь 638 пикселов в  ширину(swidth-2) и 59.7%(0.597...f) экрана в высоту.        




- Начало -  - Назад -  - Вперед -



Книжный магазин