aboutsummaryrefslogtreecommitdiff
path: root/rtiaw
blob: 71b4fbd58d3f49077f54057df2cd448d2f330464 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/usr/bin/env ruby

$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), 'lib'))
require 'interval'
require 'vec3'
require 'ray'
require 'hittable'
require 'camera'
require 'material'

mat_ground = Lambertian.new(0.8, 0.8, 0.0)
mat_centre = Lambertian.new(0.1, 0.2, 0.5)
mat_left = Metal.new(0.8, 0.8, 0.8, 0.3)
mat_right = Metal.new(0.8, 0.6, 0.2, 1.0)

world = Hittables.new
world << Sphere.new(0, -100.5, -1,    100,    mat_ground)
world << Sphere.new(0,      0, -1,    0.5,    mat_centre)
world << Sphere.new(-1,     0, -1,    0.5,    mat_left)
world << Sphere.new(1,      0, -1,    0.5,    mat_right)

camera = Camera.new(400, 16.0 / 9)
camera.render(world)