#include "epix2.h"
using namespace ePiX2;

const double x_size(2);
const double y_size(2);

int main() {
  World world;
  Camera camera;
  Screen screen(Pair(-x_size,-y_size), Pair(x_size,y_size));

  Picture picture(Pair(-2*x_size,-y_size), Pair(2*x_size,y_size), "6x3in");
  picture.backing(Black());

  Ink blue(Blue(), 0.25, true);

  Tetra T(Point(1,1,1), Point(-1,-1,1), Point(1,-1,-1), Point(-1,1,-1));
  T.limn(bold(Red()));
  T.paint_face(3, blue);

  Vector axis(Origin, 1, 0, 0.5*(1+sqrt(5)));

  world << T.paint(RGB(0.8,0.6,0.2));
  for (int i=1; i<5; ++i)
    world << T.rotate(2*M_PI/5, axis).paint(RGB(0.8+0.1*i, 0.6+0.2*i, 0));

  world.light(Point(-10,10,-10));

  camera.at(Point(10,6,8)).range(15);
  world.photo(screen, camera);

  picture.paste(screen, Mask::Rect(Pair(-2*x_size,-y_size), Pair(0, y_size)));
  screen.clear();

  camera.at(Point(10,5,8)).range(15);
  world.photo(screen, camera);

  picture.paste(screen, Mask::Rect(Pair(0, -y_size), Pair(2*x_size,y_size)));

  picture.print_to("stereo2.eepic", PSTricks());
}
