light

Principle
light
motif
procedural
shadow
spot
vertex
vol
See also

Principle

Lights are number unlimited of objects constructed by:

light(id)

     Light identifier id.
At its inception light is active, to disable it, do: validate light(id)=0.
To reactivate it, do: validate light(id)=1.
properties can be assigned:
Real time:
The number must belong to the interval [1, n] (with n = maximum number of light (depending on the version of OpenGL).

General properties

aim light(id)=x,y,z: defines a spot direction (x,y,z).
ambiance light(id)=r,v,b: defines an ambiance.
col light(id)=r,v,b: defines the color.
coe light(id)=c: attenuation function of distance.
ext light(id)=r,n: defines a luminous globe.
eye light(id)=x,y,z: defines the position.
foc light(id)=ouv: defines the opening of a spot.
law light
law light(id)=an: defines the variation of a spot (smoothing it).
meta light(id)=a,b; automatic calculation of roll based on the foc.
roll light(id)=c: the light intensity is multiplied by (cos (a)) ^ c, with a = angle (dir, LP), dir = aim light (id), L = poi (1) light (id) and the point P = illuminated (a good value is 10).
traj(ni)tran(...)light(id): trajectory of point 1 of light id.
type light(id)="eye": light positioned on eye.

Procedural light

With local functions:
local(0)obj(id_obj)="f"; treatment by a local fonction anyflo f().
local(0)light(id)=num; treatment by a local fonction written C language.

light

light(id)

       Creats light id with default values:
       top left position
       white color
       To change these values see:


       aim light
       col light
       ext light
       eye light
       foc light
       law light
      
meta light(id)=a,b; automatic calculation of roll based on the foc.
      
roll light
       texture light
       etc...


Example:
light(1)eye(0,-1000,0)col(1,.8,.4)aim(0,1,0)foc(PI/4)roll(100);
Builds the spot 1 located at (0, -1000.0), looking toward the origin, orange, opening PI / 4 and variation law 100.

light motif vol

light motif vol(id)

       Returns the numbers of the lights illuminating the motifs of volume id.

light motif vol(id)=n1

       Changes these numbers.
Note:
       If volume id has a motif vertex vol property, the motifs will be illuminated from the point in which they are displayed.

spot

A spot is a light iilluminating in a cone opening ouv, positioned in eye(x, y, z), type:
aim:
       type light(id)="aim"
       aim point: aim light(id)=xa,ya,za
axis:
       type light(id)="axis"
       direction: axis light(id)=dx,dy,dz

attenuation coefficient coe light(id)=c between 1 and 100.
focal foc light(id)=ouv between 0 and PI.
exponent coefficient roll light(id)=r between 0 and 100.
meta light(id)=a,b; automatic calculation of the roll based on the focal.

Example:
light(1)eye(0,-1000,0)col(1,.8,.4)aim(0,0,0)foc(PI/4)roll(100);
Builds spot number 1 positioned at (0,-1000,0), aiming to origin, orange color, opening PI/4 and variation law 100.

light vertex vol

light vertex(s) vol(id)

       Returns the number of the lights associated with vertex s of du volume id.

light vertex(s) vol(id)=num

       Changes these numbers.
Notes:
       1) When displaying the volume id, light nums.
       2) Il sera nécessaire de générer les normales aux sommets du volume id (see generate normal vertex vol)

light vol

light vol(id)

       Returns the numbers of the lights associated to volume id.

light vol(id)=expr

       Changes these numbers.
Note: in a display with yes illum, volumes affected with lights will be illuminated by them only.

See also:

aim light
ambient light
axis light
close light
coe light
col light
edit light
ext light
eye light
foc light
line light
meta roll light
no light
roll light
traj light
type light
yes light