@Ratmanxx
Thanks, I`m glad you like it. here`s another example. The code is a bit a mess, but I wanted just to show the concept.
rem wall image
ink rgb(250,240,230),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 12,0,0,20,20
for a= 1 to 10
for i= 1 to 10
paste image 12,-20+i*20,-20+a*20
next i
next a
get image 12,0,0,200,200,1 rem column texture
get image 13,0,0,200,80,1 rem mask for back wall
rem concrete texture
for i= 1 to 1100
color=50+rnd(40)
ink rgb(color,color+20,color),1
dot rnd(10),rnd(10)
next i
get image 25,0,0,10,10,1
rem ----------------- LIGHT MAPPING--------------------------
rem ellipse for light degrading
for i= 1 to 150
ink rgb(200-i,130,100),1
ellipse 10,80,i,i
next i
get image 1,0,62,48,100,1 rem mask 1
rem floor shadow
ink rgb(50,30,20),1
for i= 1 to 20
line 50+i,0,30,70 rem column shadow on floor
next i
paste image 1,0,62 rem paste mask 1 to arrange shadow
box 70,70,90,80
get image 2,0,0,100,100,1
rem ------------------------------------------------------------------------
ink rgb(60,40,30),1
box 9,130,16,150
get image 201,0,130,25,140,1 rem LM back wall
rem ------------------------------------------------------------------------
rem column
for i= 1 to 100
ink rgb(200-i*2,140,100),1
line 0+i,100,i,200
next i
get image 200,0,100,100,200,1
get image 333,15,84,32,95,1 rem mask 2 for ceiling shadow
rem ------------------------------------------------------------------------
ink rgb(50,40,20),1
for i= 1 to 20 //ceiling
line i,30,30,90
next i
paste image 333,15,84 rem paste mask 2 to arrange ceiling shadow
get image 202,16,68,42,98,1 rem ceiling laightmapping
rem ------------------------------------------------------------------------
autocam off
sync on
rem objects ----------------------------------------------------------------
set ambient light 40
hide light 0
make light 1
position light 1,-40,10,-40
rem floor
make object box 1,100,1,100
texture object 1,25
set light mapping on 1,2
rem column
make object cylinder 2,5
scale object 2,100,400,100
position object 2,-15,10,-10
texture object 2,12
set light mapping on 2,200
yrotate object 2,-50
rem back wall
make object box 3,80,20,1
texture object 3,13
position object 3,10,10,50
set light mapping on 3,201
rem ceiling object
make object box 4,40,0.1,40
position object 4,-15,20,-10
set light mapping on 4,202
yrotate object 4,180
rem box on the floor
make object box 5,10,5,10
position object 5,16,2,-25
texture object 5,12
scale object texture 5,0.1,0.1
`checking zone of shadow of column
make object triangle 6,-16,2,-12,1.4,2,49.8,20,2,49
color object 6,rgb(255,0,0)
hide object 6
set object collision to polygons 6
`checking zone of shadow of box on the floor
make object box 7,15,5,10:position object 7,21,2,-25:color object 7,rgb(255,0,0)
hide object 7
`detecting shadows zone
make object box 8,2,10,2
hide object 8
`gun
make object sphere 9,20:scale object 9,100,100,500
lock object on 9:position object 9,20,-30,90
`light
make object sphere 100,2:set object light 100,10
position object 100,-25,15,-35
make object box 101,0.2,15,0.2
position object 101,-25,7,-35
rem ------------------------------------------------------------------------
position camera -40,5,-40
point camera 0,0,0
do
color backdrop rgb(0,0,10)
control camera using arrowkeys 0,0.1,0.1
a#=wrapvalue(a#+mousemovex()/2)
cam#=wrapvalue(cam#+mousemovey()/2)
rotate camera cam#,a#,0
position object 8,camera position x(),camera position y(),camera position z()
if camera position y()>5 then move camera down 0.1
if camera position y()<4 then move camera up 0.1
set light range 1,100
position light 1,object position x(9),8,object position z(9)
if object collision(8,6)>0 then set light range 1,0
if object collision(8,7)>0 then set light range 1,0
sync
loop
Quake use it´s own program. I supose they use lightmaps and real time light.
cheers.
I'm not a grumpy grandpa
