diff --git a/src/xyz/marsavic/gfxlab/graphics3d/scene/SpectrumTest.java b/src/xyz/marsavic/gfxlab/graphics3d/scene/SpectrumTest.java index 6d6b5ab..66dca30 100644 --- a/src/xyz/marsavic/gfxlab/graphics3d/scene/SpectrumTest.java +++ b/src/xyz/marsavic/gfxlab/graphics3d/scene/SpectrumTest.java @@ -23,8 +23,9 @@ public class SpectrumTest extends Scene.Base { var materialBlocks = (F1) (uv -> Material.matte(0.0)); var materialUVWallsL = Grid.standard(w -> 1.0); var materialUVWallsB = Grid.standard(w -> 1.0); + var materialCoverBlock = Grid.standard(w -> 0.0); - var materialUVWallsR = (F1) (uv -> Material.MIRROR); + var materialUVWallsR = Grid.standard(w -> 1.0); var materialGlass = (F1) (uv -> Material.GLASS .refractiveIndex(w -> 5.6 + (w-400)/(800-400) * (1.55 - 5.6))); @@ -40,22 +41,33 @@ public class SpectrumTest extends Scene.Base { // HalfSpace.pn(Vec3.xyz( 0, 1, 0), Vec3.xyz( 0, -1, 0), materialUVWalls), HalfSpace.pn(Vec3.xyz( 0, 0, 1), Vec3.xyz( 0, 0, -1), materialUVWallsB), HalfSpace.pn(Vec3.xyz( 0, 0, -6), Vec3.xyz( 0, 0, 1), materialUVWallsB), - Ball.cr(Vec3.xyz(0, 3, 0), 0.8, materialLight), - Parallelepiped.pabc(Vec3.xyz(0, 0, 0), - Vec3.xyz(0.4, 0, 0), - Vec3.xyz(0, 0.4, 0), - Vec3.xyz(0, 0, 6), + Ball.cr(Vec3.xyz(0, 6, 0), 0.8, materialLight), + Parallelepiped.pabc(Vec3.xyz(-0.25, 0, 0.25), + Vec3.xyz(0.6, 0.8, 0), + Vec3.xyz(-0.2, -0.6, 0), + Vec3.xyz(0, 0, -0.5), materialGlass), - Parallelepiped.pabc(Vec3.xyz(-5.5 , 1, 1), - Vec3.xyz(4.5, 0, 0), + + Parallelepiped.pabc(Vec3.xyz(-1, 1, 1), + Vec3.xyz(0.75, 0, 0), Vec3.xyz(0, 0.4, 0), Vec3.xyz(0, 0, -6), - materialGlass), - Parallelepiped.pabc(Vec3.xyz(0.5, 1, 1), - Vec3.xyz(4.5, 0, 0), + materialCoverBlock), + Parallelepiped.pabc(Vec3.xyz(0.25, 1, 1), + Vec3.xyz(2, 0, 0), Vec3.xyz(0, 0.4, 0), Vec3.xyz(0, 0, -6), - materialGlass) + materialCoverBlock), + Parallelepiped.pabc(Vec3.xyz(-0.25, 1, 1), + Vec3.xyz(0.5, 0, 0), + Vec3.xyz(0, 0.4, 0), + Vec3.xyz(0, 0, -0.75), + materialCoverBlock), + Parallelepiped.pabc(Vec3.xyz(-0.25, 1, -0.25), + Vec3.xyz(0.5, 0, 0), + Vec3.xyz(0, 0.4, 0), + Vec3.xyz(0, 0, -6), + materialCoverBlock) ); solid = Group.of(solids);