示例#1
0
文件: driver.php 项目: eXcomm/alive
 public function Render(ALiVE_Universe $world)
 {
     // do NOT overload me
     $black = new ALiVe_Colour(0, 0, 0);
     $this->Initialize();
     // virtual
     $world->Transform();
     $polygons = $world->GetPolygons();
     $points = $world->GetTransformedPoints();
     foreach ($polygons as $polygon) {
         w_assert(isset($polygon[0]));
         w_assert(isset($polygon[1]));
         w_assert(isset($polygon[2]));
         w_assert(isset($points[$polygon[0]]));
         w_assert(isset($points[$polygon[1]]));
         w_assert(isset($points[$polygon[2]]));
         $a = $points[$polygon[0]];
         $b = $points[$polygon[1]];
         $c = $points[$polygon[2]];
         // TODO: Don't draw polygons to +oo / -oo
         //       (Z-buffer it)
         $this->DrawPolygon($a, $b, $c, $black);
     }
     $this->Finalize();
     // virtual
 }