Прочитать на английском

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


Функция glScalef

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

Синтаксис

void WINAPI glScalef(
   GLfloat x,
   GLfloat y,
   GLfloat z
);

Параметры

x

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

y

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

z

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

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

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

Коды ошибок

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

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

Комментарии

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

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

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

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

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

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

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