glScale - помножити поточну матрицю на загальну матрицю масштабування.
C специфікація
void glScaled (GLdouble x,
GLdouble y,
GLdouble z) ;
void glScalef (GLfloat x,
GLfloat y,
GLfloat z) ;
Параметри
x, y, z - вказують коефіцієнти масштабування по осям x, y i z відповідно.
Опис
Команда glScale виконує не уніфіковане масштабування по осям x, y i z. Три параметри вказують на бажаний коефіцієнт масштабування по кожній з трьох осей.
Поточна матриця (перегляньте команду glMatrixMode) множиться на матрицю масштабування і результат замінює поточну матрицю. Такий ж результат можна досягнути використовуючи команду glMultMatrix з переданою їй наступну матрицю в якості аргументу:
x 0 0 0 0 y 0 0 0 0 z 0 0 0 0 1
Якщо режим поточної матриці являється GL_MODELVIEW або GL_PROJECTION, усі об'єкти сконструйовані після виклику команди glScale будуть масштабованими.
Використовуйте glPushMatrix i glPopMatrix для збереження і відновлення оригінальної (не масштабованої) координатної системи.
Примітка
Якщо коефіцієнт масштабування відмінний від 1 застосовується до матриці огляду моделі (modelview) і увімкнене освітлення, освітлення може обчислюватись неправильно. У такому випадку, увімкніть автоматичне нормалізування векторів нормалей викликаючи команду glEnable з аргументом GL_NORMALIZE.
Помилки
GL_INVALID_OPERATION згенероване якщо команда glScale викликається між викликом команд glBegin і glEnd.
Пов'язані параметри
glGet з аргументом GL_MATRIX_MODE
glGet з аргументом GL_COLOR_MATRIX
glGet з аргументом GL_MODELVIEW_MATRIX
glGet з аргументом GL_PROJECTION_MATRIX
glGet з аргументом GL_TEXTURE_MATRIX
Перегляньте також
glMatrixMode, glMultMatrix, glPushMatrix, glRotate, glTranslate, Вступ до OpenGL (Open Graphics Library) - відкрита графічна бібліотека
Оригінал: https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glScale.xml