new scene from inside a spherical mirror
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
local mirror = obj.withmaterial(
|
||||
obj.negation(
|
||||
obj.sphere(vec3.O, 8)
|
||||
),
|
||||
material.newfromdiagonal(
|
||||
colorvec.new(0, 0, 0, 0),
|
||||
colorvec.new(1, 1, 1, 1),
|
||||
surfacetype.REFLECTIVE
|
||||
)
|
||||
)
|
||||
|
||||
local objects = {
|
||||
obj.withmaterial(
|
||||
obj.torus(vec3.new(1, 0, -3), 2, 1),
|
||||
material.newfromdiagonal(
|
||||
colorvec.new(1, .5, .2, 0),
|
||||
colorvec.new(1, 1, 1, 1),
|
||||
surfacetype.DIFFUSE
|
||||
)
|
||||
),
|
||||
obj.withmaterial(
|
||||
obj.sphere(vec3.new(3, 2, 0), 1),
|
||||
material.newfromdiagonal(
|
||||
colorvec.new(0, 0, 0, 0),
|
||||
colorvec.new(.2, .5, 1, 0),
|
||||
surfacetype.DIFFUSE
|
||||
)
|
||||
),
|
||||
obj.withmaterial(
|
||||
obj.cuboid(vec3.new(-3, -1, 2), vec3.new(1, 1, 1)),
|
||||
material.newfromdiagonal(
|
||||
colorvec.new(0, 0, 0, 0),
|
||||
colorvec.new(.2, 1, .5, 0),
|
||||
surfacetype.DIFFUSE
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
return obj.union(
|
||||
util.union(objects),
|
||||
mirror
|
||||
)
|
||||
Reference in New Issue
Block a user