# demonstration program for distant light shadow map # define the objects ObjectBegin 1 Sphere 1 -1 1 360 ObjectEnd ObjectBegin 2 Polygon "P" [-5 -5 0 5 -5 0 5 5 0 -5 5 0] ObjectEnd ObjectBegin 3 Cylinder .05 0 .75 360 ObjectEnd # create the depth "z" file from the location of the light # the commented out Display function allows you to see the # light source view to insure that you are looking the right # direction # # THIS RENDERS THE SHADOW FILE FOR THE Distant LIGHT # PixelSamples 1 1 PixelFilter "box" 1 1 Display "distant.z" "zfile" "z" #Display "spot" "framebuffer" "rgba" Format 1024 1024 1 ShadingRate 4 # note use of orthographic projection Projection "orthographic" Translate 0 0 5 Rotate -150 1 0 0 Rotate -45 0 0 1 WorldBegin #Sides 2 # we don't really use this light for the shadow TransformBegin Rotate 45 0 0 1 Rotate 150 1 0 0 Translate 0 0 -5 LightSource "distantlight" 1 "intensity" 1.0 "lightcolor" [1 1 1] "from" [0 0 0] "to" [0 0 1] # "shadowname" "distant.shadow" TransformEnd LightSource "ambientlight" 2 "intensity" .3 Surface "plastic" "Ka" [0.3] "Kd" [0.4] "Ks" [0.3] # sphere AttributeBegin Color [1 0 0] Translate 0 0 0.2 Scale .2 .2 .2 ObjectInstance 1 AttributeEnd # bottom plane #AttributeBegin # Color [1 .8 .6] # Scale 1.0 1.0 1.0 # ObjectInstance 2 #AttributeEnd # cylinders AttributeBegin Color [.8 1 .6] Translate .4 .1 -.1 Scale 1 1 .5 ObjectInstance 3 Translate 0 .3 0 Color [.4 .7 1] ObjectInstance 3 AttributeEnd WorldEnd # # CONVERT DEPTH RENDER INTO SHADOW MAP FILE # # use: txmake -shadow distant.z distant.shadow