Функция glScalef
Функции glScaled и glScalef умножают текущую матрицу на общую матрицу масштабирования.
void WINAPI glScalef(
GLfloat x,
GLfloat y,
GLfloat z
);
-
x
-
Коэффициенты масштабирования вдоль оси X .
-
y
-
Коэффициенты масштабирования вдоль оси Y .
-
z
-
Коэффициенты масштабирования по оси Z .
Эта функция не возвращает значение.
Следующий код ошибки может быть получен функцией glGetError .
Имя | Значение |
---|---|
|
Функция была вызвана между вызовом glBegin и соответствующим вызовом glEnd. |
Функция glScalef создает общее масштабирование по осям 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 [только классические приложения] |
Заголовок |
|
Библиотека |
|
DLL |
|