glNormal - встановлює поточний вектор нормалі.

C специфікація

void glNormal3b (GLbyte nx, GLbyte ny, GLbyte nz) ;
void glNormal3d (GLdouble nx, GLdouble ny, GLdouble nz) ;
void glNormal3f (GLfloat nx, GLfloat ny, GLfloat nz) ;
void glNormal3i (GLint nx, GLint ny, GLint nz) ;
void glNormal3s (GLshort nx, GLshort ny, GLshort nz) ;

void glNormal3bv (const GLbyte* v) ;
void glNormal3dv (const GLdouble* v) ;
void glNormal3fv (const GLfloat* v) ;
void glNormal3iv (const GLint* v) ;
void glNormal3sv (const GLshort* v) ;

Параметри

nx, ny, nz - вказує координати x, y, i z нової поточної нормалі. Значення за умовчанням поточного вектора нормалі (0, 0, 1). v - передає вказівник на масив трьох елементів: x, y, i z компонентів координати нового поточного вектора нормалі.

Опис

Поточна нормаль встановлюється у надані координати через виклик команди glNormal. Цілочисельні типи даних перетворюються на дійсні значення за допомогою лінійної функції перетворення, яка найбільш позитивне значення типу перетворює на 1.0 і найбільш негативне значення типу у -1.0. Нормалі, вказані за допомогою glNormal не повинні мати одиничну довжину. Якщо увімкнена опція GL_NORMALIZE, тоді нормалі будь-якої довжини нармалізуються після перетворення. Якщо увімкнене GL_RESCALE_NORMAL, нормалі масштабуються коефіцієнтом похідним від матриці огляду моделі (modelview matrix). GL_RESCALE_NORMAL вимагає, щоб оригінально вказані нормалі мали одиничну довжину і матриця огляду моделі містила тільки унікальні коефіцієнти для коректних результатів. Для увімкнення чи вимкнення нормалізаціїї, викликайте команду glEnable і glDisable з параметрами GL_NORMALIZE або GL_RESCALE_NORMAL. За умовчанням нормалізація вимкнена.

Примітка

Поточна нормаль може бути оновленою в будь-який час. Зокрема, команда glNormal може бути викликаною після виклику glBegin і перед відповідним викликом glEnd.

Пов'язані параметри

glGet з аргументом GL_CURRENT_NORMAL glIsEnabled з аргументом GL_NORMALIZE glIsEnable з аргументом GL_RESCALE_NORMAL

Перегляньте також

glBegin, glColor, glIndex, glMultiTexCoord, glNormalPointer, glTexCoord, glVertexВступ до OpenGL (Open Graphics Library) - відкрита графічна бібліотека

Оригінал

https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glNormal.xml