Listing 5. The scene file for a complete cabin.
# The mkillum comment is a special parameter that is
# used to tell the system that only the given
# material (window_illum in this case) acts as an
# interior light source for the scene. It is a
# speedup parameter, and may affect quality if used
# on sources that are very large.
#@mkillum i=window_illum
# genlogwall parameters: material name length_ft
# height_ft logdiam_inches [holedatafile]
!genlogwall xpine southwall 15 10 8 \
holes/southwall.holes
!genlogwall xpine northwall 15 10 8 \
| xform -t 0 180 0
# On these next two, be sure to rotate first.
!genlogwall ypine eastwall 15 10 8 \
holes/eastwall.holes | xform -rz 90 -t 180 0 0
!genlogwall ypine westwall 15 10 8 | xform -rz 90
# Logs don't join together too well at corners,
# so we add some vertical beams to make
# them pretty.
#
# genlog Parameters: material name
# length_ft diam_inches
!genlog zpine swcorner 10 10 | xform -ry -90
!genlog zpine secorner 10 10 \
| xform -ry -90 -t 180 0 0
!genlog zpine necorner 10 10 \
| xform -ry -90 -t 180 180 0
!genlog zpine nwcorner 10 10 \
| xform -ry -90 -t 0 180 0
# Generate two pieces of roof. The data is the
# same for each half, but the positions and
# rotations are different.
!genroof -o3 roof roof.e roofdata 6 12 \
| xform -rz 90 -t 90 -36 120
!genroof -o3 roof roof.w roofdata 6 12 \
| xform -rz -90 -t 90 216 120
# A basic floor would be nice
!genbox concrete floor 180 180 .01 \
| xform -t 0 0 .01