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

Source for file ascii_demo.php

Documentation is available at ascii_demo.php

  1. <?php
  2.  
  3. $iterations = 40;
  4. $images 'php://output';
  5.  
  6. ini_set('memory_limit''24M');
  7. require_once('Image/3D.php');
  8.  
  9. $world = new Image_3D();
  10. $world->setColor(new Image_3D_Color(000));
  11.  
  12. $light1 $world->createLight(-5000-500);
  13. $light1->setColor(new Image_3D_Color(2555050));
  14.  
  15. $light2 $world->createLight(5000-500);
  16. $light2->setColor(new Image_3D_Color(5050255));
  17.  
  18. $p1 $world->createObject('torus'array('inner_radius' => 50'outer_radius' => 90'detail_1' => 10'detail_2' => 1));
  19. $p1->setColor(new Image_3D_Color(255255255));
  20.  
  21. $world->setOption(Image_3D::IMAGE_3D_OPTION_BF_CULLINGfalse);
  22. $world->setOption(Image_3D::IMAGE_3D_OPTION_FILLEDtrue);
  23.  
  24. $rotation $world->createMatrix('Rotation'array(0015));
  25. $Xrotation $world->createMatrix('Rotation'array(1020));
  26. $move $world->createMatrix('Move'array(00-10));
  27. $renderer $world->createRenderer('perspectively');
  28. $driver $world->createDriver('ASCII');
  29.  
  30. $world->render(2 * 1006 * 50$images);
  31.  
  32. $start microtime(true);
  33. $i = 0;
  34. while ($i++ < $iterations{
  35.     $light1->transform($rotation);
  36.     $light2->transform($rotation);
  37.     $p1->setColor(new Image_3D_Color(255255255));
  38.     $p1->transform($Xrotation);
  39.     
  40.     $driver->reset();
  41.     $renderer->render($images);
  42. }
  43.  
  44. $time microtime(true$start;
  45. printf("%2.2f fps\n"$iterations $time);

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