Эти функции настраивают освещение графика. Главная функция light включает/выключает освещение графиков построенных после ее вызова (в OpenGL работает сразу для всего рисунка). MathGL поддерживает до 10 независимых источников света. Но в режиме OpenGL можно использовать только первые 8 из них. Положение, цвет, яркость каждого источника света можно задавать по отдельности. По умолчанию включен только первый (с порядковым номером 0) источник света белого цвета, расположенный сверху. См. раздел Lighting sample, для примеров кода и графика.
[val=on] ¶mglGraph: bool Light (bool enable) ¶void mgl_set_light (HMGL gr, int enable) ¶Включает/выключает освещение графика и возвращает предыдущее состояние. По умолчанию освещение выключено.
num val ¶mglGraph: void Light (int n, bool enable) ¶void mgl_set_light_n (HMGL gr, int n, int enable) ¶Включает/выключает n-ый источник света.
num xdir ydir zdir ['col'='w' br=0.5 ap=0] ¶num xdir ydir zdir xpos ypos zpos ['col'='w' br=0.5] ¶mglGraph: void AddLight (int n, mglPoint d, char c='w', mreal bright=0.5, mreal ap=0) ¶mglGraph: void AddLight (int n, mglPoint r, mglPoint d, char c='w', mreal bright=0.5, mreal ap=0) ¶void mgl_add_light (HMGL gr, int n, mreal dx, mreal dy, mreal dz) ¶void mgl_add_light_ext (HMGL gr, int n, mreal dx, mreal dy, mreal dz, char c, mreal bright, mreal ap) ¶void mgl_add_light_loc (HMGL gr, int n, mreal rx, mreal ry, mreal rz, mreal dx, mreal dy, mreal dz, char c, mreal bright, mreal ap) ¶Добавляет источник света с номером n в положение p с цветом c и яркостью bright, которая должна быть в диапазоне [0,1]. Если указано положение источника r и оно не NAN, то источник считается локальным, иначе источник полагается бесконечно удалённым (для более быстрого рисования).
val ¶mglGraph: void SetDifLight (mreal bright) ¶void mgl_set_difbr (HMGL gr, mreal bright) ¶Задает яркость диффузного освещения (только для локальных источников света).
val ¶mglGraph: void SetAmbient (mreal bright=0.5) ¶void mgl_set_ambbr (HMGL gr, mreal bright) ¶Задает яркость рассеянного освещения. Значение должно быть в диапазоне [0,1].