Shadow Light Example Code
(set! time 0)
; loop for thirty frames
(while (< time 30)
(begin
; create the world
(world
(camera "main" "perspective" 'from '(2.5 2 3.5)
'to '(0 1 0) 'fov 45)
(xfm-separator
(rotate (* (/ time 29) 360) '(0 1 0))
(camera "lightcam" "perspective" 'from '(0 3 2)
'to '(0 1 0) 'fov 45)
(light "shadowspot" 'intensity 6 'from '(0 3 2)
'to '(0 1 0) 'coneangle 45
'shadowname "shadow.shd")
)
(separator
(color '(1 0 0))
(rotate '90 '(1 0 0))
(surface "plastic")
(disk 'radius 20)
)
(translate '(0 1 0))
(surface "matte")
(read-det "skull.obj" "smooth")
)
; render the shadow map
((render 'reset))
((render 'set-option!) '(ri-display "shadow.z" "zfile" "z"))
((render 'set-option!) '(ri-format 256 256 1))
(render "lightcam")
(system "txmake -shadow shadow.z shadow.shd")
; render the actual frame
((render 'reset))
((render 'set-option!) (ri-format 320 242 1))
((render 'to-file) (string-append "Frames/frame."
(number->string time)))
; render from the point of view of the light called "main"
(render "main")
; increment the value of time by one
(set! time (+ time 1))
)
)
Return to lights page
mrl