+struct
+{
+ float lookRadius = LATTICE_SIZE*LATTICE_UNIT*1.5;
+ float lookAz = 0;
+ float lookAlt = M_PI/4;
+ float fstMouseAngle[2], oldLookAz, oldLookAlt;
+} view;
+
+void glDisplayFunc();
+void glReshapeFunc(int width, int height);
+void glMouseFunc(int button, int state, int x, int y);
+void glMotionFunc(int x, int y);
+
+int main(int argc, char** argv)
+{
+ std::srand(std::time(0));
+
+ surface = std::make_shared<WaterSurface>(LATTICE_SIZE, LATTICE_UNIT);
+ sea = std::make_shared<Sea>(surface);
+
+ glutInit(&argc, argv);
+ glutInitDisplayMode(GLUT_DOUBLE);
+ glutInitWindowSize(300, 300);
+ glutInitWindowPosition(100, 100);
+ glutCreateWindow("seamulator");
+
+ glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
+
+ glutDisplayFunc(glDisplayFunc);
+ glutReshapeFunc(glReshapeFunc);
+ glutMouseFunc(glMouseFunc);
+ glutMotionFunc(glMotionFunc);
+
+ glutMainLoop();
+
+ return 0;
+}
+