raytracer-c/scenes/table-without-materials.yml
2020-12-18 23:29:24 -05:00

146 lines
2.8 KiB
YAML

# ======================================================
# table.yml
#
# This file describes the scene illustrated at the start
# of chapter 12, "Cubes", in "The Ray Tracer Challenge"
#
# by Jamis Buck <jamis@jamisbuck.org>
# ======================================================
# ======================================================
# the camera
# ======================================================
- add: camera
width: 1920
height: 1080
field-of-view: 0.785
from: [8, 6, -8]
to: [0, 3, 0]
up: [0, 1, 0]
# ======================================================
# light sources
# ======================================================
- add: light
at: [0, 6.9, -5]
intensity: [1, 1, 0.9]
# ======================================================
# describe the elements of the scene
# ======================================================
# floor/ceiling
- add: cube
transform:
- [ translate, 0, 1, 0 ]
- [ scale, 20, 7, 20 ]
# walls
- add: cube
transform:
- [ scale, 10, 10, 10 ]
# table top
- add: cube
transform:
- [ scale, 3, 0.1, 2 ]
- [ translate, 0, 3.1, 0 ]
# leg #1
- add: cube
transform:
- [ scale, 0.1, 1.5, 0.1 ]
- [ translate, 2.7, 1.5, -1.7 ]
# leg #2
- add: cube
transform:
- [ scale, 0.1, 1.5, 0.1 ]
- [ translate, 2.7, 1.5, 1.7 ]
# leg #3
- add: cube
transform:
- [ scale, 0.1, 1.5, 0.1 ]
- [ translate, -2.7, 1.5, -1.7 ]
# leg #4
- add: cube
transform:
- [ scale, 0.1, 1.5, 0.1 ]
- [ translate, -2.7, 1.5, 1.7 ]
# glass cube
- add: cube
transform:
- [ scale, 0.25, 0.25, 0.25 ]
- [ rotate-y, 0.2 ]
- [ translate, 0, 3.45001, 0 ]
# little cube #1
- add: cube
transform:
- [ scale, 0.15, 0.15, 0.15 ]
- [ rotate-y, -0.4 ]
- [ translate, 1, 3.35, -0.9 ]
# little cube #2
- add: cube
transform:
- [ scale, 0.15, 0.07, 0.15 ]
- [ rotate-y, 0.4 ]
- [ translate, -1.5, 3.27, 0.3 ]
# little cube #3
- add: cube
transform:
- [ scale, 0.2, 0.05, 0.05 ]
- [ rotate-y, 0.4 ]
- [ translate, 0, 3.25, 1 ]
# little cube #4
- add: cube
transform:
- [ scale, 0.05, 0.2, 0.05 ]
- [ rotate-y, 0.8 ]
- [ translate, -0.6, 3.4, -1 ]
# little cube #5
- add: cube
transform:
- [ scale, 0.05, 0.2, 0.05 ]
- [ rotate-y, 0.8 ]
- [ translate, 2, 3.4, 1 ]
# frame #1
- add: cube
transform:
- [ scale, 0.05, 1, 1 ]
- [ translate, -10, 4, 1 ]
# frame #2
- add: cube
transform:
- [ scale, 0.05, 0.4, 0.4 ]
- [ translate, -10, 3.4, 2.7 ]
# frame #3
- add: cube
transform:
- [ scale, 0.05, 0.4, 0.4 ]
- [ translate, -10, 4.6, 2.7 ]
# mirror frame
- add: cube
transform:
- [ scale, 5, 1.5, 0.05 ]
- [ translate, -2, 3.5, 9.95 ]
# mirror
- add: cube
transform:
- [ scale, 4.8, 1.4, 0.06 ]
- [ translate, -2, 3.5, 9.95 ]