Move code to packages.

This commit is contained in:
Sven Weidauer 2024-12-01 12:28:06 +01:00
parent 687cb784fe
commit 130c8a5bd1
16 changed files with 81 additions and 7 deletions

View file

@ -1,21 +0,0 @@
data class Scene(val things: List<Thing>, val light: PointLight): Thing {
override fun intersects(ray: Ray): Hit? {
var closest: Hit? = null
for (thing in things) {
val hit = thing.intersects(ray)
if (hit != null && (closest == null || hit.distance < closest.distance)) {
closest = hit
}
}
return closest
}
fun colorForRay(ray: Ray): MaterialColor? {
val hit = intersects(ray)
if (hit != null) {
return hit.material.shade(ray, hit, this)
}
return null
}
}