Координатные границы внешней рамки окна на экране дисплея, которые определяются функцией д10г1:1іо2П

Рис. 3.2. Координатные границы внешней рамки окна на экране дисплея, которые определяются функцией д10г1:1іо2П

ЗАДАНИЕ ДВУХМЕРНОЙ ВНЕШНЕЙ СИСТЕМЫ КООРДИНАТ В OpenGL

В нашей первой программе-примере (раздел 2.9) была введена команда glu0rtho2D, которая представляет собой функцию, используемую для задания любой двухмерной декартовой системы координат. Аргументы этой функции - это четыре значения, определяющие границы изменения координат х и у для того рисунка, который требуется изобразить. Поскольку функция gluOrtho2D описывает ортогональную проекцию, нужно убедиться в том, что значения координат помещены в проекционную матрицу OpenGL. Кроме того, перед определением диапазона внешних координат в качестве проекционной матрицы можно использовать единичную матрицу. Это гарантирует, что значения координат не будут прибавляться к каким-либо значениям, возможно, ранее внесенным в проекционную матрицу. Таким образом, систему координат для использованных выше двухмерных примеров на экране дисплея можно задать с помощью следующих операторов.

glMatrixMode (GL_PROJECTION) ;

glLoadldentity ( );

glu0rtho2D (xmin, xmax, ymin, ymax); При этом левый нижний угол окна на экране дисплея будет описываться координатами (х'тіп, жтіп), а правый верхний угол - координатами (жшах, угпах), как показано на рис. 3.2.

После этого можно задать один или несколько графических примитивов, при изображении которых используется система координат, описанная в операторе glu-Ortho2D. Если размеры этих примитивов будут вписываться в координатные пределы окна на экране дисплея, то будут изображены все примитивы. В противном случае будут видны только те части примитивов, которые попадают в диапазон координат окна. Кроме того, при задании геометрического описания рисунка все координаты примитивов OpenGL должны выражаться в абсолютной системе координат относительно системы отсчета, которая определена в функции gluOrtho2D.

ФУНКЦИИ ТОЧЕК В OpenGL

Чтобы описать геометрию точки, ее положение задается во внешней системе координат. Затем эти значения вместе с другими геометрическими параметрами, которые могут описывать данную сцену, обрабатываются стандартными процедурами визуализации. Пока мы не зададим другие значения атрибутов, примитивы OpenGL будут изображаться с размерами и цветом, определенными по умолчанию. Изначально цвет примитивов белый, а размер точки равен размеру одного пикселя на экране.

Чтобы задать координаты единственной точки, используется следующая функция OpenGL.

glVertex* ( ) ; Здесь звездочка (*) означает, что для данной функции необходимы индексные коды. Эти индексные коды обозначают размерность пространства, тип числовых данных, которые используются в качестве значений координат, и возможность представления координат в виде вектора. Функция glVertex должна находиться в программе между функциями glBegin и glEnd. Аргумент функции glBegin определяет тип графического примитива, который следует изобразить, а функция glEnd не требует аргументов. При выводе на экран точки аргументом функции glBegin является символьная константа GL_POINTS. Таким образом, положение точки в OpenGL описывается так.


⇐ вернуться назад | | далее ⇒