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