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