Эти функции настраивают освещение графика. Главная функция 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].