def test_integration_renderComplexScene(self): self.raytracer.setOutput('test_integration_renderComplexScene.png', 300, 300) self.raytracer.setAmbient([0.2, 0.2, 0.2]) sph1 = Sphere(Vector3f(0.0, 1.0, 0.0), 0.5) sph2 = Sphere(Vector3f(-1.0, 1.0, 0.0), 0.4) sph3 = Sphere(Vector3f(0.2, -1.0, 1.2), 0.5) sph4 = Sphere(Vector3f(1.0, -1.0, -1.0), 0.3) sph5 = Sphere(Vector3f(-1.0, -1.0, -1.0), 0.3) sph1.setDiffuseColor([0.8, 0.0, 0.0]) sph2.setDiffuseColor([1.0, 1.0, 1.0]) sph2.setDiffuseConstant(0.5) sph3.setDiffuseColor([0.0, 0.0, 0.8]) sph3.setShininess(20) sph4.setSpecularColor([0.0, 1.0, 0.0]) sph5.setDiffuseColor([1.0, 0.0, 1.0]) sph5.setShininess(200) self.raytracer.addPrimitive(sph1) self.raytracer.addPrimitive(sph2) self.raytracer.addPrimitive(sph3) self.raytracer.addPrimitive(sph4) self.raytracer.addPrimitive(sph5) self.raytracer.addPointLight(Vector3f(1.0,-4.0,1.0), [1.0, 1.0, 1.0], 2) self.raytracer.setCamera(Vector3f(0.0, -6.0, 0.0), Vector3f(0.0, 1.0, 0.0), Vector3f(0.0, 0.0, 1.0), 70) start = time() self.raytracer.render() end = time() self.assertTrue(os.path.exists('./test_integration_renderComplexScene.png'), "The file wasn't created upon rendering") print "Rendered a 300 * 300 image with 4 spheres and 1 light in {} seconds".format(end - start)