rem Light Showcase rem Choose better display mode if check display mode(1024,768,32)=1 set display mode 1024,768,32 else if check display mode(1024,768,16)=1 set display mode 1024,768,16 endif endif rem Standard Setup Code for all examples sync on : sync rate 0 : backdrop off set text font "arial" : set text size 16 set text to bold : set text transparent rem Load Hero music load music "music\hero.mp3",1 : loop music 1 rem User prompt sync : center text screen width()/2,screen height()/2,"LOADING" : sync rem Load Statue Model set normalization on load object "models\statue.x",1 load image "models\bumpmap.bmp",1 xrotate object 1,270 : fix object pivot 1 set light mapping on 1,1 set object specular 1,0 rotate object 1,0,0,0 rem Load room load object "world\room.x",2 xrotate object 2,270 : fix object pivot 2 set object specular 2,0 rotate object 2,0,0,0 rem Set dynamic light zero hide light 0 rem Create pixie lights and dots for l=1 to 7 make light l set point light l,0,0,0 set light range l,2000 make object sphere 2+l,50 : ghost object on 2+l if l>1 then hide light l : hide object 2+l next l rem Main loop desc$="Pixie Lights (Select keys 1-7)" do rem Control light visibility k$=inkey$() if k$>="1" and k$<="7" if keypress=0 keypress=1 li=1+(asc(k$)-asc("1")) if light visible(li)=1 hide light li : hide object 2+li else show light li : show object 2+li endif c#=wrapvalue(180+(a#+(li*85))) endif else keypress=0 endif rem Rotate around model a#=wrapvalue(a#+0.5) b#=wrapvalue(b#+0.2) c#=wrapvalue(c#+0.05) x#=cos(c#)*250.0 z#=sin(c#)*300.0 position light 0,x#,150,z# position camera x#,100,z# point camera 0,150,0 rem Rotate lights around model for l=1 to 7 x#=cos(a#+(l*85))*300.0 z#=sin(a#+(l*85))*150.0 position light l,x#,100+(sin(b#)*100),z# position object 2+l,x#,100+(sin(b#)*100),z# next l rem Alter light colours over time leva#=wrapvalue(leva#+0.01) level#=cos(leva#) for l=1 to 7 col=127.0+(127.0*level#) rev=col*-1 if l=1 then color light l,col,rev,rev if l=2 then color light l,128,col,128 if l=3 then color light l,255,255,col*2 if l=4 then color light l,col,rev,col if l=5 then color light l,col,col,col if l=6 then color light l,500,500,500 if l=7 then color light l,rev*3,rev*3,rev*3 next l rem Show Framerate text 20,screen height()-40,desc$ fps$="DBPro Fps: "+str$(screen fps()) text screen width()-20-text width(fps$),screen height()-40,fps$ rem Update screen sync rem End loop loop