Поделиться через


Функция glScaled

Функции glScaled и glScalef умножают текущую матрицу на общую матрицу масштабирования.

Синтаксис

void WINAPI glScaled(
   GLdouble x,
   GLdouble y,
   GLdouble z
);

Параметры

x

Коэффициенты масштабирования вдоль оси X .

y

Коэффициенты масштабирования вдоль оси Y .

z

Коэффициенты масштабирования по оси Z .

Возвращаемое значение

Эта функция не возвращает значение.

Коды ошибок

Следующий код ошибки может быть получен функцией glGetError .

Имя Значение
GL_INVALID_OPERATION
Функция была вызвана между вызовом glBegin и соответствующим вызовом glEnd.

Комментарии

Функция glScaled создает общее масштабирование по осям x, y и z . Три аргумента указывают требуемые коэффициенты масштабирования по каждой из трех осей. Результирующая матрица :

Схема, показывающая матрицу коэффициентов масштабирования по осям x, y и z.

Текущая матрица (см. glMatrixMode) умножается на эту масштабируемую матрицу с продуктом, заменяющим текущую матрицу. То есть, если M — текущая матрица, а S — матрица масштабирования, то M заменяется на M S.

Если режим матрицы GL_MODELVIEW или GL_PROJECTION, все объекты, нарисованные после вызова glScaled , масштабируются. Используйте glPushMatrix и glPopMatrix для сохранения и восстановления немасштабируемой системы координат.

Если к матрице modelview применяются коэффициенты масштабирования, отличные от 1,0, и освещение включено, то также следует включить автоматическую нормализацию норм (glEnable и glDisable с аргументом GL_NORMALIZE).

Следующие функции извлекают сведения, связанные с glScaled:

glGet с GL_MATRIX_MODE аргументов

glGet с аргументом GL_MODELVIEW_MATRIX

glGet с аргументом GL_PROJECTION_MATRIX

glGet с аргументом GL_TEXTURE_MATRIX

Требования

Требование Значение
Минимальная версия клиента
Windows 2000 Professional [только классические приложения]
Минимальная версия сервера
Windows 2000 Server [только классические приложения]
Заголовок
Gl.h
Библиотека
Opengl32.lib
DLL
Opengl32.dll

См. также раздел

glBegin

glEnd

glMatrixMode

glMultMatrix

glPopMatrix

glPushMatrix

GlRotated

glRotatef

glTranslate