// ambient // James Brink, 8/1/2020 let can4, can5, can6, can9, canP5; // for canvas 3 let can1, can3, grSlider; function setup() { s1 = createSpan("
Testing ambientLight (1, 1, & 3 arguments)" + " and ambientMaterial (3 arguments).
"); s1.parent("p5"); can1 = createCanvasClass(100, 100, WEBGL); can1.parent("p5"); can1.background(0); can1.noStroke(); can1.ambientLight(200); can1.ambientMaterial(70, 130, 230); can1.sphere(40); let s2 = createSpan("   "); s2.parent("p5"); can2 = createCanvasClass(100, 100, WEBGL); can2.parent("p5"); can2.background(70); can2.ambientLight(100); // white light can2.ambientMaterial(255, 0, 255); can2.box(30); let s3 = createSpan("   "); s3.parent("p5"); can3 = createCanvasClass(100, 100, WEBGL); can3.parent("p5"); grSlider = createSlider(0, 255, 0); grSlider.parent("p5"); let s4 = createSpan("
Testing emissiveMaterial (3 arguments) (and" + " ambientLight).  "); s4.parent("p5"); can4 = createCanvasClass(100, 100, WEBGL); can4.parent("p5"); can4.background(0); can4.noStroke(); can4.ambientLight(0); can4.emissiveMaterial(130, 230, 0); can4.sphere(40); let s5 = createSpan("

Testing specularMaterial (1 argument), ambientLight (3" + " arguments), and pointLight (6 arguments). "); s5.parent("p5"); can5 = createCanvasClass(100, 100, WEBGL); can5.parent("p5"); can5.background(0); can5.ambientLight(50, 50, 50); can5.pointLight(250, 250, 250, 100, 100, 30); can5.specularMaterial(250); can5.sphere(40); let s9 = createSpan("

Tests directionalLight (6 arguments). "); s9.parent("p5"); can9 = createCanvasClass(100, 100, WEBGL); can9.parent("p5"); can9.background(0); can9.noStroke(); let dirX = .6; let dirY = -.8; can9.directionalLight(50, 50, 250, -dirX, -dirY, -1); can9.sphere(40); let s6 = createSpan("

Tests specularMaterial (1 argument)," + " specularColor (3 arguments), pointLight (6 arguments), shininess," + " and ambientLight. "); s6.parent("p5"); can6 = createCanvasClass(100, 100, WEBGL); can6.parent("p5"); can6.noStroke(); can6.background(0); can6.shininess(20); can6.ambientLight(50); can6.specularColor(255, 0, 0); can6.pointLight(255, 0, 0, 0, -50, 50); can6.specularColor(0, 255, 0); can6.pointLight(0, 255, 0, 0, 50, 50); can6.specularMaterial(255); can6.sphere(40); /* let s8 = createSpan("

Tests directionalLight. "); s8.parent("p5"); can9 = createCanvasClass(100, 100, WEBGL); can9.parent("p5"); can9.background(0); can9.noStroke(); let dirX = .6; let dirY = -.8; can9.directionalLight(50, 50, 250, -dirX, -dirY, -1); can9.sphere(40); */ /* let s9 = createSpan("   p5 canvas -> "); s9.parent("p5"); canP5 = createCanvas(100, 100, WEBGL); canP5.parent("p5"); */ let s10 = createSpan("
Testing spotLight (and ambientLight). "); s10.parent("p5"); can10 = createCanvasClass(100, 100, WEBGL); can10.parent("p5"); can10.background(0); //move your mouse to change light position let locX = 10; // mouseX - width / 2; let locY = 10; // mouseY - height / 2; // to set the light position, // think of the world's coordinate as: // -width/2,-height/2 -------- width/2,-height/2 // | | // | 0,0 | // | | // -width/2,height/2--------width/2,height/2 can10.ambientLight(50); can10.spotLight(0, 250, 0, locX, locY, 100, 0, 0, -1, Math.PI / 16); can10.noStroke(); can10.sphere(40); } // setup function draw() { /* can1.background(0); can1.noStroke(); print("can1"); can1.ambientLight(200); can1.ambientMaterial(70, 130, 230); can1.sphere(40); alert("after can1"); */ can3.background(70); can3.ambientLight(0, 250, 0); // green light can3.ambientMaterial(255, grSlider.value(), 255); can3.box(30); /* can4.background(0); can4.noStroke(); can4.ambientLight(0); can4.emissiveMaterial(130, 230, 0); can4.sphere(40); */ /* can5.background(0); can5.ambientLight(50); can5.pointLight(250, 250, 250, 100, 100, 30); can5.specularMaterial(250); can5.sphere(40); */ /* can6.background(0); can6.shininess(20); can6.ambientLight(50); can6.specularColor(255, 0, 0); can6.pointLight(255, 0, 0, 0, -50, 50); can6.specularColor(0, 255, 0); can6.pointLight(0, 255, 0, 0, 50, 50); can6.specularMaterial(255); can6.sphere(40); */ /* can9.background(0); let dirX = (can9.mouseX / can9.width - 0.5) * 2; let dirY = (can9.mouseY / can9.height - 0.5) * 2; can9.directionalLight(50, 50, 250, -dirX, -dirY, -1); can9.sphere(40); */ /* background(0); //move your mouse to change light direction let dirX = (mouseX / width - 0.5) * 2; let dirY = (mouseY / height - 0.5) * 2; print("p5 " + dirX + " " + dirY); directionalLight(0, 100, 250, -dirX, -dirY, -1); noStroke(); sphere(40); */ } // draw