ВУЗ:
Составители:
Основы компьютерной графики для программистов 70
____________________________________________________________________________________________________________________
http://www.ksu.ru/persons/9134.ru.html
Функция glViewport устанавливает так называемый порт вывода. Порт вывода это
прямоугольная область в пределах окна Windows, в которое осуществляется
отображение графики. Иногда порт вывода так и называют в английской транскрипции
- “вьюпорт”:
void glViewport(
GLint x,
GLint y,
GLsizei width,
GLsizei height
);
Параметры x и y определяют левый нижний угол порта вывода в пикселах. Если порт
вывода явно не указан, то (x,y)=(0,0). Параметры
width и height задают ширину и
высоту порта вывода, соответственно. При первом подключении контекста
воспроизведения размеры порта вывода совпадают с размерами окна Windows к
которому подключен контекст воспроизведения.
Команда glMatrixMode(GL_PROJECTION) устанавливает матрицу проекций текущей. В
OpenGL используется общеизвестная модель матричных преобразований трехмерной
графики, которая включает в себя матрицу видового преобразования, и матрицу
проекции. Матрица видового преобразования задает расположение, перемещения, и
масштабирование объектов в пространстве, а также расположение объектов по
отношению к наблюдателю. Матрица проекции определяет параметры проецирования
на экран. В OpenGL можно
установить любую матрицу перспективного преобразования
непосредственно. Но для параллельной и центральной перспективной проекций можно
воспользоваться специализированными функциями.
После установки текущей матрицы она содержит в себе значения, которые в общем
случае могут быть не известны. Если применять преобразования, связанные с этой
матрицей, то текущие значения будут использоваться, что может привести к
непредсказуемым результатам на экране. Для того чтобы этого не произошло, текущую
матрицу следует инициализировать как единичную с помощью функции
glLoadIdentity,
либо запомнить ее в стеке для последующего восстановления.
Из двух типов проекций рассмотрим в начале центральную перспективную проекцию.
Она устанавливается командой
glFrustum:
void glFrustum(
GLdouble left,
GLdouble right,
Gldouble bottom,
GLdouble top,
GLdouble near,
GLdouble far
);
Параметры этой функции определяют координаты расположения граней усеченной
пирамиды видимого объема: left и right – для левой и правой граней относительно
ближней
near грани. Нижняя и верхняя грани соответствуют параметрам bottom и top, а
дальняя отсекающая плоскость определяется параметром
far. Обратите внимание, что в
приведенном примере параметры левой и правой стороны усеченной пирамиды
кажутся выбранными слишком малыми по сравнению с параметрами верхней и нижней
Основы компьютерной графики для программистов 70 ____________________________________________________________________________________________________________________ Функция glViewport устанавливает так называемый порт вывода. Порт вывода это прямоугольная область в пределах окна Windows, в которое осуществляется отображение графики. Иногда порт вывода так и называют в английской транскрипции - “вьюпорт”: void glViewport( GLint x, GLint y, GLsizei width, GLsizei height ); Параметры x и y определяют левый нижний угол порта вывода в пикселах. Если порт вывода явно не указан, то (x,y)=(0,0). Параметры width и height задают ширину и высоту порта вывода, соответственно. При первом подключении контекста воспроизведения размеры порта вывода совпадают с размерами окна Windows к которому подключен контекст воспроизведения. Команда glMatrixMode(GL_PROJECTION) устанавливает матрицу проекций текущей. В OpenGL используется общеизвестная модель матричных преобразований трехмерной графики, которая включает в себя матрицу видового преобразования, и матрицу проекции. Матрица видового преобразования задает расположение, перемещения, и масштабирование объектов в пространстве, а также расположение объектов по отношению к наблюдателю. Матрица проекции определяет параметры проецирования на экран. В OpenGL можно установить любую матрицу перспективного преобразования непосредственно. Но для параллельной и центральной перспективной проекций можно воспользоваться специализированными функциями. После установки текущей матрицы она содержит в себе значения, которые в общем случае могут быть не известны. Если применять преобразования, связанные с этой матрицей, то текущие значения будут использоваться, что может привести к непредсказуемым результатам на экране. Для того чтобы этого не произошло, текущую матрицу следует инициализировать как единичную с помощью функции glLoadIdentity, либо запомнить ее в стеке для последующего восстановления. Из двух типов проекций рассмотрим в начале центральную перспективную проекцию. Она устанавливается командой glFrustum: void glFrustum( GLdouble left, GLdouble right, Gldouble bottom, GLdouble top, GLdouble near, GLdouble far ); Параметры этой функции определяют координаты расположения граней усеченной пирамиды видимого объема: left и right – для левой и правой граней относительно ближней near грани. Нижняя и верхняя грани соответствуют параметрам bottom и top, а дальняя отсекающая плоскость определяется параметром far. Обратите внимание, что в приведенном примере параметры левой и правой стороны усеченной пирамиды кажутся выбранными слишком малыми по сравнению с параметрами верхней и нижней http://www.ksu.ru/persons/9134.ru.html
Страницы
- « первая
- ‹ предыдущая
- …
- 68
- 69
- 70
- 71
- 72
- …
- следующая ›
- последняя »