Image_3D
[ class tree: Image_3D ] [ index: Image_3D ] [ all elements ]

Source for file test_all.php

Documentation is available at test_all.php

  1. <?php
  2.  
  3. ini_set('memory_limit',    '32M');
  4.  
  5. require_once('Image/3D.php');
  6.  
  7. $renderer = array(
  8.     'pers'         => 'Perspectively',
  9.     'iso'         => 'Isometric',
  10. );
  11.  
  12. $driver = array(
  13.     'png'         => 'GD',
  14.     'svg'         => 'SVG',
  15. );
  16.  
  17. $shading = array(
  18.     'none'         => Image_3D_Renderer::SHADE_NO,
  19.     'flat'         => Image_3D_Renderer::SHADE_FLAT,
  20.     'gauroud'     => Image_3D_Renderer::SHADE_GAUROUD,
  21.     'phong'     => Image_3D_Renderer::SHADE_PHONG,
  22. );
  23.  
  24. $bf = array('bfculling' => true'nobfc' => false);
  25.  
  26. foreach ($renderer as $r_id => $r_class{
  27.     foreach ($driver as $d_id => $d_class{
  28.         foreach ($shading as $s_type{
  29.             foreach ($bf as $b_name => $b_status{
  30.                 $s_name array_search($s_type$shading);
  31.                 $filename dirname(__FILE__. "/tests/TestImage_{$r_id},{$s_name},{$b_name}.{$d_id}";
  32.  
  33.                 echo "Render image ({$r_class}, {$d_class}, {$s_name}, {$b_name}) ... ";
  34.                 createExample($filename$r_class$d_class$s_type$b_status);
  35.                 echo "OK\n";
  36.             }
  37.         }
  38.     }
  39. }
  40.  
  41. function createExample($filename$renderer$driver$shading$bfCulling{
  42.     $world = new Image_3D();
  43.     $world->setColor(new Image_3D_Color(255255255));
  44.     
  45.     $blueLight $world->createLight(-500-500-500);
  46.     $blueLight->setColor(new Image_3D_Color(100100255));
  47.     
  48.     $redLight $world->createLight(-500500-500);
  49.     $redLight->setColor(new Image_3D_Color(255100100));
  50.     
  51.     // Cubeframe
  52.     for ($x = -225; $x <= 225; $x += 50{
  53.         $cube $world->createObject('cube'array(303030));
  54.         $cube->setColor(new Image_3D_Color(150150150));
  55.         $cube->transform($world->createMatrix('Move'array($x2250)));
  56.  
  57.         $cube $world->createObject('cube'array(303030));
  58.         $cube->setColor(new Image_3D_Color(150150150));
  59.         $cube->transform($world->createMatrix('Move'array($x-2250)));
  60.  
  61.         $cube $world->createObject('cube'array(303030));
  62.         $cube->setColor(new Image_3D_Color(150150150));
  63.         $cube->transform($world->createMatrix('Move'array($x$x0)));
  64.     }
  65.     
  66.     // Sphere
  67.     $sphere $world->createObject('sphere'array('r' => 50'detail' => 3));
  68.     $sphere->setColor(new Image_3D_Color(200200200));
  69.     $sphere->transform($world->createMatrix('Move'array(10000)));
  70.     
  71.     // 3ds
  72.     $threeds $world->createObject('3ds''docs/examples/models/cube.3ds');
  73.     $threeds->setColor(new Image_3D_Color(255255255));
  74.     $threeds->transform($world->createMatrix('Rotation'array(9000)));
  75.     $threeds->transform($world->createMatrix('Scale'array(555)));
  76.     $threeds->transform($world->createMatrix('Move'array(-10000)));
  77.  
  78.     // text
  79.     $text $world->createObject('text''Text');
  80.     $text->setColor(new Image_3D_Color(02550));
  81.     $text->transform($world->createMatrix('Scale'array(101010)));
  82.     $text->transform($world->createMatrix('Move'array(-1501000)));
  83.     
  84.     // Karte
  85.     $map $world->createObject('map');
  86.     $detail = 10; $size = 100; $height = 40;
  87.     
  88.     $raster = 1 / $detail;
  89.     for ($x = -1; $x <= 1; $x += $raster{
  90.         $row = array();
  91.         for ($y = -1; $y <= 1; $y += $raster{
  92.             $row[= new Image_3D_Point($x $size$y $sizesin($x pi()) sin($y * 2 * pi()) $height);
  93.         }
  94.         $map->addRow($row);
  95.     }
  96.     $map->setColor(new Image_3D_Color(150150150100));
  97.     $map->transform($world->createMatrix('Rotation'array(120-20-10)));
  98.     $map->transform($world->createMatrix('Move'array(150-1000)));
  99.     
  100.     $world->setOption(Image_3D::IMAGE_3D_OPTION_BF_CULLING$bfCulling);
  101.     
  102.     $renderer $world->createRenderer($renderer);
  103.     $driver $world->createDriver($driver);
  104.  
  105.     if (!in_array($shading$driver->getSupportedShading())) return false;
  106.     
  107.     $renderer->setShading($shading);
  108.     $world->render(500500$filename);
  109. }
  110.  
  111. ?>

Documentation generated on Mon, 11 Mar 2019 14:17:15 -0400 by phpDocumentor 1.4.4. PEAR Logo Copyright © PHP Group 2004.