1<?php 2 3set_time_limit(0); 4require_once('Image/3D.php'); 5 6$world = new Image_3D(); 7$world->setColor(new Image_3D_Color(250, 250, 250)); 8 9$light = $world->createLight('Point', array(0, -200, 0, 'distance' => 300, 'falloff' => 2)); 10$light->setColor(new Image_3D_Color(150, 150, 255)); 11 12$steps = 10; 13$step = 20; 14 15for ($i = 0; $i < $steps; ++$i) { 16 $y = ($steps * $step / -2) + $i * $step; 17 $p = $world->createObject('polygon', array(new Image_3D_Point(-100, $y, -30), new Image_3D_Point(-100, $y, 50), new Image_3D_Point(100, $y, 40))); 18 $p->setColor(new Image_3D_Color(255, 255, 255)); 19} 20 21$world->transform($world->createMatrix('Rotation', array(20, 0, 0))); 22 23$world->setOption(Image_3D::IMAGE_3D_OPTION_BF_CULLING, false); 24$world->setOption(Image_3D::IMAGE_3D_OPTION_FILLED, true); 25 26$world->createRenderer('perspectively'); 27$world->createDriver('ZBuffer'); 28$world->render(400, 400, 'Image_3D_Pointlight.png'); 29 30echo $world->stats( ); 31 32