/
quadcube.php
33 lines (22 loc) · 1.02 KB
/
quadcube.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
set_time_limit(0);
require_once(__DIR__ . '/../../vendor/autoload.php');
$world = new Image_3D();
$world->setColor(new Image_3D_Color(240, 240, 240));
$light = $world->createLight('Light', array(0, 0, -500));
$light->setColor(new Image_3D_Color(255, 255, 255));
$cube = $world->createObject('quadcube', array(150, 150, 150));
$cube->setColor(new Image_3D_Color(50, 50, 250, 200));
$cube_s1 = $world->createObject('quadcube', array(150, 150, 150));
$cube_s1->subdivideSurfaces(1);
$cube_s1->setColor(new Image_3D_Color(50, 50, 250, 170));
$cube_s2 = $world->createObject('quadcube', array(150, 150, 150));
$cube_s2->subdivideSurfaces(2);
$cube_s2->setColor(new Image_3D_Color(50, 50, 250, 50));
$world->transform($world->createMatrix('Rotation', array(15, 15, 0)));
$world->setOption(Image_3D::IMAGE_3D_OPTION_BF_CULLING, true);
$world->setOption(Image_3D::IMAGE_3D_OPTION_FILLED, true);
$world->createRenderer('perspectively');
$world->createDriver('GD');
$world->render(400, 400, 'Image_3D_Quadcube.png');
echo $world->stats();