aboutsummaryrefslogtreecommitdiff
path: root/camera.go
blob: 657539033b421b568382750f3ef14199febdaa2c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

package main

type Camera struct {
	lower_left_corner            Vec3D
	origin, horizontal, vertical Vec3D
}

func (camera Camera) GetRay(u float64, v float64) Ray {
	return Ray{
		camera.origin,
		AddVec3D(AddVec3D(
			camera.lower_left_corner,
			ScalarProduct(u, camera.horizontal)),
			ScalarProduct(v, camera.vertical),
		),
	}
}