+ std::srand(std::time(0));
+
+ surface = std::make_shared<WaterSurface>(LATTICE_SIZE, LATTICE_EXTEND);
+ sea = std::make_shared<Sea>(surface);
+ seaView = std::make_unique<SeaView>(INIT_VIEW_DISTANCE, INIT_VIEW_AZIMUTH,
+ INIT_VIEW_ALTITUDE);
+
+ glutInit(&argc, argv);
+ glutInitDisplayMode(GLUT_DOUBLE);
+ glutInitWindowSize(INIT_WINDOW_WIDTH, INIT_WINDOW_HEIGHT);
+ glutInitWindowPosition(INIT_WINDOW_POS_X, INIT_WINDOW_POS_Y);
+ glutCreateWindow(WINDOW_TITLE);
+ glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);