X-Git-Url: http://git.treefish.org/~alex/seamulator.git/blobdiff_plain/6280f60567d99bd059818523fcdb0a710173b3d9..3185fa3e31555b1b80edb81dc4e76a1d9856f6fb:/src/seamulator.cpp?ds=sidebyside diff --git a/src/seamulator.cpp b/src/seamulator.cpp index ffbf586..aec8da1 100644 --- a/src/seamulator.cpp +++ b/src/seamulator.cpp @@ -1,3 +1,22 @@ +/** + * Copyright (C) 2016 Alexander Schmidt + * + * This file is part of Seamulator. + * + * Seamulator is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Seamulator is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Seamulator. If not, see . + */ + #include #include #include @@ -8,6 +27,7 @@ #include "sea.h" #include "seaview.h" +#include "synthesizer.h" #include "watersurface.h" const int INIT_WINDOW_POS_X{50}; @@ -21,6 +41,7 @@ const char WINDOW_TITLE[]{"seamulator"}; SeaPtr sea; WaterSurfacePtr surface; std::unique_ptr seaView; +std::unique_ptr synthesizer; struct Settings { double windSpeed; @@ -43,13 +64,14 @@ int main(int argc, char** argv) std::srand(std::time(0)); surface = std::make_shared(settings.latticeSize, - settings.latticeExtend); + settings.latticeExtend); sea = std::make_shared(surface, - settings.windSpeed, - settings.amplitudeFactor); + settings.windSpeed, + settings.amplitudeFactor); seaView = std::make_unique(settings.latticeExtend * 1.5, - INIT_VIEW_AZIMUTH, - INIT_VIEW_ALTITUDE); + INIT_VIEW_AZIMUTH, + INIT_VIEW_ALTITUDE); + synthesizer = std::make_unique(surface); glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE); @@ -115,6 +137,7 @@ void glDisplayFunc() seaView->setupView(); sea->update(); surface->draw(); + synthesizer->tick(); glutSwapBuffers(); glutPostRedisplay();