Create proper demonstration scene of the spectrum effect
This commit is contained in:
parent
5dc461055e
commit
c15ce0cf87
|
@ -23,8 +23,9 @@ public class SpectrumTest extends Scene.Base {
|
||||||
var materialBlocks = (F1<Material, Vector>) (uv -> Material.matte(0.0));
|
var materialBlocks = (F1<Material, Vector>) (uv -> Material.matte(0.0));
|
||||||
var materialUVWallsL = Grid.standard(w -> 1.0);
|
var materialUVWallsL = Grid.standard(w -> 1.0);
|
||||||
var materialUVWallsB = Grid.standard(w -> 1.0);
|
var materialUVWallsB = Grid.standard(w -> 1.0);
|
||||||
|
var materialCoverBlock = Grid.standard(w -> 0.0);
|
||||||
|
|
||||||
var materialUVWallsR = (F1<Material, Vector>) (uv -> Material.MIRROR);
|
var materialUVWallsR = Grid.standard(w -> 1.0);
|
||||||
|
|
||||||
var materialGlass = (F1<Material, Vector>) (uv -> Material.GLASS
|
var materialGlass = (F1<Material, Vector>) (uv -> Material.GLASS
|
||||||
.refractiveIndex(w -> 5.6 + (w-400)/(800-400) * (1.55 - 5.6)));
|
.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, 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, 1), Vec3.xyz( 0, 0, -1), materialUVWallsB),
|
||||||
HalfSpace.pn(Vec3.xyz( 0, 0, -6), 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),
|
Ball.cr(Vec3.xyz(0, 6, 0), 0.8, materialLight),
|
||||||
Parallelepiped.pabc(Vec3.xyz(0, 0, 0),
|
Parallelepiped.pabc(Vec3.xyz(-0.25, 0, 0.25),
|
||||||
Vec3.xyz(0.4, 0, 0),
|
Vec3.xyz(0.6, 0.8, 0),
|
||||||
Vec3.xyz(0, 0.4, 0),
|
Vec3.xyz(-0.2, -0.6, 0),
|
||||||
Vec3.xyz(0, 0, 6),
|
Vec3.xyz(0, 0, -0.5),
|
||||||
materialGlass),
|
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.4, 0),
|
||||||
Vec3.xyz(0, 0, -6),
|
Vec3.xyz(0, 0, -6),
|
||||||
materialGlass),
|
materialCoverBlock),
|
||||||
Parallelepiped.pabc(Vec3.xyz(0.5, 1, 1),
|
Parallelepiped.pabc(Vec3.xyz(0.25, 1, 1),
|
||||||
Vec3.xyz(4.5, 0, 0),
|
Vec3.xyz(2, 0, 0),
|
||||||
Vec3.xyz(0, 0.4, 0),
|
Vec3.xyz(0, 0.4, 0),
|
||||||
Vec3.xyz(0, 0, -6),
|
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);
|
solid = Group.of(solids);
|
||||||
|
|
Loading…
Reference in a new issue