void GridManager::ConfigureGrid() { if (Config::bGPRTGrid) { ConfigureGPRT(); //ConfigureGPRT2(); //BoundaryConditionTest(); //PressureBoundaryConditionTestSmallArea(); //PressureBoundaryConditionTestBigArea(); } else { ConfigureStandartGrid(); //ConfigureTestGrid(); } GridGeometryToInitialCells(); AdoptInitialCells(); // PrintGrid(); FillInGrid(); LinkCells(); InitCells(); PrintInfo(); }
void GLWidget::initializeGL() { QGLFormat glFormat = QGLWidget::format(); if (!glFormat.sampleBuffers()) { std::cerr << "Could not enable sample buffers." << std::endl; return; } glShadeModel(GL_SMOOTH); glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glClearColor( 1.0, 1.0, 1.0, 1.0 ); glEnable(GL_DEPTH_TEST); _shaderProgram = new QOpenGLShaderProgram(); if (!_shaderProgram->addShaderFromSourceFile(QOpenGLShader::Vertex, "../OrganicLabyrinth/shader.vert")) { std::cerr << "Cannot load vertex shader." << std::endl; return; } if (!_shaderProgram->addShaderFromSourceFile(QOpenGLShader::Fragment, "../OrganicLabyrinth/shader.frag")) { std::cerr << "Cannot load fragment shader." << std::endl; return; } if ( !_shaderProgram->link() ) { std::cerr << "Cannot link shaders." << std::endl; return; } _shaderProgram->bind(); _mvpMatrixLocation = _shaderProgram->uniformLocation("mvpMatrix"); _colorLocation = _shaderProgram->attributeLocation("vertexColor"); _vertexLocation = _shaderProgram->attributeLocation("vert"); _use_color_location = _shaderProgram->uniformLocation("use_color"); InitCells(); InitDots(); // a bad thing ResetData(); }