1<?php 2 3$images = 'php://output'; 4$iterations = 50; 5 6set_time_limit(0); 7require_once('Image/3D.php'); 8 9$world = new Image_3D(); 10$world->setColor(new Image_3D_Color(0, 0, 0)); 11 12$light1 = $world->createLight('Light', array(-500, -500, -500)); 13$light1->setColor(new Image_3D_Color(255, 255, 255)); 14 15$light2 = $world->createLight('Light', array(0, 500, -550)); 16$light2->setColor(new Image_3D_Color(0, 255, 0)); 17 18$p1 = $world->createObject('cube', array(80, 80, 80)); 19$p1->setColor(new Image_3D_Color(200, 200, 200)); 20$p1->transform($world->createMatrix('Rotation', array(45, 45, 0))); 21 22$world->setOption(Image_3D::IMAGE_3D_OPTION_BF_CULLING, false); 23$world->setOption(Image_3D::IMAGE_3D_OPTION_FILLED, true); 24 25$rotation = $world->createMatrix('Rotation', array(2, 5, 0)); 26$renderer = $world->createRenderer('perspectively'); 27$driver = $world->createDriver('ASCII'); 28 29$world->render(2 * 80, 6 * 30, $images); 30 31$start = microtime(true); 32$i = 0; 33while ($i++ < $iterations) { 34 $p1->transform($rotation); 35 $driver->reset(); 36 $renderer->render($images); 37} 38 39$time = microtime(true) - $start; 40printf("%2.2f fps\n", $iterations / $time); 41 42