1<?php
2
3require_once('Image/3D.php');
4
5// Erstellen der Welt
6$world = new Image_3D();
7$world->setColor(new Image_3D_Color(255, 255, 255));
8
9// Erstellung einer globalen Lichtquelle
10$light = $world->createLight('Light', array(-2000, -2000, -2000));
11$light->setColor(new Image_3D_Color(155, 155, 155));
12
13// Eines Punktuellen Lichtes mit distancefalloff
14$light = $world->createLight('Point', array(0, -100, 0, 'distance' => 200, 'falloff' => 2));
15$light->setColor(new Image_3D_Color(255, 0, 0));
16
17// Eines Spotlights
18$light = $world->createLight('Spotlight', array(500, -500, -300, 'aim' => array(50, 30, 0), 'angle' => 10, 'float' => 2));
19$light->setColor(new Image_3D_Color(0, 255, 0, 100));
20
21// Erstellen einer Kugel
22$sphere = $world->createObject('sphere', array('r' => 120, 'detail' => 5));
23$sphere->setColor(new Image_3D_Color(200, 200, 200));
24$sphere->transform($world->createMatrix('Move', array(70, 40, 0)));
25
26// Import eines 3ds-Objekts (Schriftzug "Image 3D")
27$text = $world->createObject('3ds', 'docs/examples/models/Image_3D.3ds');
28$text->setColor(new Image_3D_Color(255, 255, 255, 180));
29$text->transform($world->createMatrix('Rotation', array(90, 0, 0)));
30$text->transform($world->createMatrix('Scale', array(5, 5, 5)));
31$text->transform($world->createMatrix('Move', array(0, -40, 0)));
32
33// Transformationen auf alle Objecte anwenden
34$text->transform($world->createMatrix('Scale', array(2, 2, 2)));
35
36// Erzeugen des gewuenschten Renderers
37$world->createRenderer('perspectively');
38
39// Erzeugen des gewuenschten Ausgabetreibers
40$world->createDriver('SVG');
41
42// Rendern des Bildes
43$world->render(800, 400, 'example.svg');
44
45// Ausgabe einiger Statistiken zu dem gerade erstellten Bild
46echo $world->stats();
47