When we make a light in Dbpro, it does´t light just a small are unless it is in a matrix or in an object with a lot of vertex...something like a sphere.Whe can not spect the same in a box with just 12 vertex.If we make in an external program a primitive box, with several vertex per face, then we can get the lights light a small area on the box.This effect can be obtained making lightmappings.

here is an example of lightmapping manually.
//making some textures
//floor_
ink rgb(150,140,130),1
box 0,0,20,20
ink rgb(90,70,60),1
line 10,0,10,10
line 0,9,20,9
line 0,19,20,19
line 0,10,0,20
get image 1,0,0,20,20
//red light
ink rgb(80,80,80),1
box 0,0,20,50
ink rgb(255,0,0),1
for i= 1 to 5
ellipse 10,10,i,i
next i
get image 2,5,0,20,50,1
get image 5,10,10,20,20,1
ink rgb(0,255,0),1
for i= 1 to 5
ellipse 18,3,i,i
next i
get image 3,6,0,20,16
for a= 1 to 10
for i= 1 to 10
paste image 1,-20+i*20,-20+a*20
next i
next a
get image 1,0,0,200,200
//adjusting ambient light_
set ambient light 50
hide light 0
//----objetos---------
make object box 1,50,1,50
texture object 1,1
set light mapping on 1,3
make object cylinder 2,6
scale object 2,100,400,100
position object 2,0,10,0
texture object 2,1
set light mapping on 2,2
make object sphere 3,1:set object emissive 3,rgb(255,0,0)
position object 3,-1.5,17,-2.5
make object box 4,30,0.5,20
texture object 4,1
position object 4,0,22,0
set light mapping on 4,5
position camera 5,5,5
point camera 0,0,0
do
color backdrop rgb(0,0,0)
control camera using arrowkeys 0,0.1,0.1
a#=wrapvalue(a#+mousemovex()/2)
cam#=wrapvalue(cam#+mousemovey()/2)
rotate camera cam#,a#,0
sync
loop
I'm not a grumpy grandpa
