Sick ass cornel box
This commit is contained in:
170
rhai/scene.rhai
170
rhai/scene.rhai
@@ -1,6 +1,6 @@
|
||||
let scene = Scene();
|
||||
|
||||
let distance = 10.0;
|
||||
let distance = 0.99;
|
||||
let camera = Camera( P(0.0,0.0,distance), P(0.0,0.0,0.0), V(0.0,1.0,0.0));
|
||||
scene.addCamera("+Z Cam", camera);
|
||||
// let camera = Camera( P(0.0,distance,0.1), P(0.0,0.0,0.0), V(0.0,1.0,0.0));
|
||||
@@ -14,55 +14,161 @@ scene.addCamera("+Z Cam", camera);
|
||||
// let camera = Camera( P(-distance,0.0,0.0), P(0.0,0.0,0.0), V(0.0,1.0,0.0));
|
||||
// scene.addCamera("-X Cam", camera);
|
||||
|
||||
let material = Material(V(0.2,0.9,0.8), V(0.3, 0.8, 0.8), 10.0);
|
||||
scene.addMaterial("mat1", material);
|
||||
let material2 = Material(V(0.2,0.9,0.8), V(0.3, 0.8, 0.8), 25.0);
|
||||
scene.addMaterial("mat2", material);
|
||||
let falloff = V(0.1, 0.1, 0.15);
|
||||
|
||||
|
||||
let light = Light(P(0.0,7.0,0.0), V(0.0,0.0,1.0), V(0.1, 0.01, 0.001));
|
||||
let colour = V(0.0,0.5,0.5);
|
||||
let pos = P(-0.5,0.9,0.5);
|
||||
let light = Light(pos, colour, falloff);
|
||||
light.active(true);
|
||||
scene.addLight("blue", light);
|
||||
|
||||
// let light = Light( P(2.0,7.0,0.0), V(0.0,1.0,0.0), V(0.1, 0.01, 0.001));
|
||||
// light.active(false);
|
||||
// scene.addLight("green", light);
|
||||
let colour = V(0.0,1.0,0.0);
|
||||
let pos = P(-0.5,0.9,-0.5);
|
||||
let light = Light(pos, colour, falloff);
|
||||
light.active(false);
|
||||
scene.addLight("green", light);
|
||||
|
||||
// let light = Light( P(2.0,7.0,2.0), V(1.0,0.5,0.5), V(0.0, 0.00, 0.001));
|
||||
// light.active(false);
|
||||
// scene.addLight("red", light);
|
||||
let colour = V(1.0,0.0,0.0);
|
||||
let light = Light(pos, colour, falloff);
|
||||
light.active(true);
|
||||
scene.addLight("red", light);
|
||||
|
||||
// let light = Ambient(V(0.5,0.5,0.5));
|
||||
// light.active(false);
|
||||
// scene.addLight("ambient", light);
|
||||
let colour = V(0.7,0.7,0.7);
|
||||
let pos = P(0.0,0.9,0.0);
|
||||
let light = Light(pos, colour, falloff);
|
||||
light.active(true);
|
||||
scene.addLight("white", light);
|
||||
|
||||
|
||||
//let sphere = Sphere(P(0.0,-10.0,0.0), 10.0 );
|
||||
//let sphere_node = Node( sphere, material);
|
||||
//scene.addNode("sphere",sphere_node);
|
||||
let light = Ambient(V(0.1,0.1,0.1));
|
||||
light.active(true);
|
||||
scene.addLight("ambient", light);
|
||||
|
||||
//let mesh = Mesh("obj/cow.obj" );
|
||||
//let mesh_node = Node(mesh);
|
||||
//scene.addNode("mesh", mesh_node);
|
||||
|
||||
|
||||
// let child = sphere_node.child(sphere);
|
||||
// child.translate(V(1.0,1.0,1.0));
|
||||
//scene.addNode(child);
|
||||
|
||||
let sphere2= SphereUnit();
|
||||
let sphere2_node = Node( sphere2, material2);
|
||||
//let sphere2= SphereUnit();
|
||||
//let sphere2_node = Node( sphere2, material2);
|
||||
// sphere2_node.rotate(0.1,0.1,0.0);
|
||||
// sphere2_node.translate(0.0,1.0,0.0);
|
||||
scene.addNode("sphere", sphere2_node);
|
||||
//scene.addNode("sphere2", sphere2_node);
|
||||
|
||||
//let gnonom = Gnonom();
|
||||
//let gnonom_node = Node(gnonom, material);
|
||||
//scene.addNode("gnonom", gnonom_node);
|
||||
let kd = V(1.0, 1.0, 1.0); // Diffuse color (white)
|
||||
let ks = V(0.0,0.0,0.0); // Specular color (no specular reflection)
|
||||
let kr = V(0.0,0.0,0.0); // Reflection color (no reflection)
|
||||
let white_wall = Material(kd, ks, kr, 10.0);
|
||||
scene.addMaterial("white_wall", white_wall);
|
||||
|
||||
//let cylinder = Cylinder(2.0,1.0 );
|
||||
//let cylinder_node = Node(cylinder);
|
||||
//cylinder_node.scale(1.0,1.0,1.0);
|
||||
//scene.addNode("cylinder",cylinder_node);
|
||||
let kd = V(1.0, 0.0, 0.0); // Diffuse color (white)
|
||||
let ks = V(0.0,0.0,0.0); // Specular color (no specular reflection)
|
||||
let kr = V(0.0,0.0,0.0); // Reflection color (no reflection)
|
||||
let red_wall = Material(kd, ks, kr, 10.0);
|
||||
scene.addMaterial("red_wall", red_wall);
|
||||
|
||||
scene
|
||||
let kd = V(0.0, 1.0, 0.0); // Diffuse color (white)
|
||||
let ks = V(0.0,0.0,0.0); // Specular color (no specular reflection)
|
||||
let kr = V(0.0,0.0,0.0); // Reflection color (no reflection)
|
||||
let green_wall = Material(kd, ks, kr, 10.0);
|
||||
scene.addMaterial("green_wall", green_wall);
|
||||
|
||||
let kd = V(0.0, 0.0, 1.0); // Diffuse color (white)
|
||||
let ks = V(0.0,0.0,0.0); // Specular color (no specular reflection)
|
||||
let kr = V(0.0,0.0,0.0); // Reflection color (no reflection)
|
||||
let blue_wall = Material(kd, ks, kr, 10.0);
|
||||
scene.addMaterial("blue_wall", blue_wall);
|
||||
|
||||
|
||||
//Rear wall
|
||||
let rectangle1 = RectangleUnit();
|
||||
let rectangle_node1 = Node(rectangle1, white_wall);
|
||||
rectangle_node1.rotate(0.0, 0.0, 0.0);
|
||||
rectangle_node1.translate(0.0, 0.0, -1.0);
|
||||
rectangle_node1.active(true);
|
||||
scene.addNode("rectangle1", rectangle_node1);
|
||||
|
||||
//Behind wall
|
||||
let rectangle6 = RectangleUnit();
|
||||
let rectangle_node6 = Node(rectangle6, white_wall);
|
||||
rectangle_node6.rotate(0.0, 180.0, 0.0);
|
||||
rectangle_node6.translate(0.0, 0.0, 1.0);
|
||||
rectangle_node6.active(true);
|
||||
scene.addNode("rectangle6", rectangle_node6);
|
||||
|
||||
//Right wall
|
||||
let rectangle2 = RectangleUnit();
|
||||
let rectangle_node2 = Node(rectangle2, green_wall);
|
||||
rectangle_node2.rotate(0.0, -90.0, 0.0);
|
||||
rectangle_node2.translate(1.0, 0.0, 0.0);
|
||||
rectangle_node2.active(true);
|
||||
scene.addNode("rectangle2", rectangle_node2);
|
||||
|
||||
//Floor
|
||||
let rectangle3 = RectangleUnit();
|
||||
let rectangle_node3 = Node(rectangle3, red_wall);
|
||||
rectangle_node3.rotate(0.0, 90.0, 0.0);
|
||||
rectangle_node3.translate(-1.0, 0.0, 0.0);
|
||||
rectangle_node3.active(true);
|
||||
scene.addNode("rectangle3", rectangle_node3);
|
||||
|
||||
//Left wall
|
||||
let rectangle4 = RectangleUnit();
|
||||
let rectangle_node4 = Node(rectangle4, white_wall);
|
||||
rectangle_node4.rotate(90.0, 0.0, 0.0);
|
||||
rectangle_node4.translate(0.0, 1.0, 0.0);
|
||||
rectangle_node4.active(true);
|
||||
scene.addNode("rectangle4", rectangle_node4);
|
||||
|
||||
//Ceiling
|
||||
let rectangle5 = RectangleUnit();
|
||||
let rectangle_node5 = Node(rectangle5, white_wall);
|
||||
rectangle_node5.rotate(-90.0, 0.0, 0.0);
|
||||
|
||||
rectangle_node5.translate(0.0, -1.0, 0.0);
|
||||
rectangle_node5.active(true);
|
||||
scene.addNode("rectangle5", rectangle_node5);
|
||||
|
||||
|
||||
let kd = V(0.0, 0.0, 0.0); // Diffuse color (white)
|
||||
let ks = V(0.0,0.0,0.0); // Specular color (no specular reflection)
|
||||
let kr = V(1.0,1.0,1.0); // Reflection color (no reflection)
|
||||
let reflective = Material(kd, ks, kr, 10.0);
|
||||
scene.addMaterial("reflective", reflective);
|
||||
|
||||
let sphere = Sphere(P(0.0,0.0,0.0), 0.4 );
|
||||
let sphere_node = Node( sphere, reflective);
|
||||
sphere_node.translate(0.4, -0.6, 0.0);
|
||||
scene.addNode("sphere",sphere_node);
|
||||
|
||||
let kd = V(0.3, 0.3, 0.3); // Diffuse color (white)
|
||||
let ks = V(0.3,0.3,0.0); // Specular color (no specular reflection)
|
||||
let kr = V(0.0,0.0,1.0); // Reflection color (no reflection)
|
||||
let shiny = Material(kd, ks, kr, 2.0);
|
||||
scene.addMaterial("shiny", shiny);
|
||||
|
||||
let cube = CubeUnit();
|
||||
let cube_node = Node( cube, shiny);
|
||||
cube_node.translate(-0.5,-0.6,0.0);
|
||||
cube_node.scale(0.3,0.2,0.2);
|
||||
cube_node.rotate(0.0,45.0,30.0);
|
||||
scene.addNode("cube",cube_node);
|
||||
|
||||
let gnonom = Gnonom();
|
||||
let gnonom_node = Node(gnonom, shiny);
|
||||
gnonom_node.scale(0.2,0.2,0.2);
|
||||
gnonom_node.translate(0.0, 0.-0.7, 0.8);
|
||||
gnonom_node.rotate(0.0, 45.0, 0.0);
|
||||
gnonom_node.active(false);
|
||||
scene.addNode("gnonom", gnonom_node);
|
||||
|
||||
// let cylinder = Cylinder(2.0, 1.0);
|
||||
// let cylinder_node = Node(cylinder, material);
|
||||
// cylinder_node.scale(1.0, 1.0, 1.0);
|
||||
// scene.addNode("cylinder", cylinder_node);
|
||||
|
||||
//let cone
|
||||
|
||||
scene
|
||||
|
||||
Reference in New Issue
Block a user