Пример #1
0
void OpenGLWidget::initializeGL()
{
    resolver = new Resolver();
    r = resolver;

    connect(selector, SIGNAL(useShader(QString, QString)), this, SLOT(createFractal(QString, QString)));

    initializeOpenGLFunctions();

    glClearColor(0.0f, 0.5f, 1.0f, 1.0f);

    m_vao.create();
    QOpenGLBuffer m_vvbo(QOpenGLBuffer::VertexBuffer);
    QOpenGLBuffer m_ebo(QOpenGLBuffer::IndexBuffer);

    // Fill mode for polygons
    glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);

    // Shaders
    createFractal("mandelbrot", "Mandelbrot Set");

    resizeGL(WINDOW_WIDTH, WINDOW_HEIGHT);

    paneButton = new QPushButton(this);
    paneButton->setGeometry(QRect(0, 0, 25, 25));
    paneButton->setText("<->");
    connect(paneButton, SIGNAL(pressed()), pane, SLOT(toggle()));
    paneButton->show();

    animButton->raise();
    animButton->setGeometry(QRect(WINDOW_WIDTH - 25, 0, 25, 25));
    animButton->setText("<->");
    connect(animButton, SIGNAL(pressed()), ::anim, SLOT(toggle()));
    animButton->show();

    updateTimer = new QTimer(this);
    updateTimer->setInterval(1000.f / 1000.f);
    connect(updateTimer, SIGNAL(timeout()), this, SLOT(drawFrame()));
    updateTimer->start();

    animLayout->addWidget(anim.buttonAdd);
    animLayout->addWidget(anim.buttonDelete);
    animLayout->addWidget(anim.checkBox);

    for (unsigned int i = 0; i < 1024; ++i)
        keys[i] = false;

    anim.origin = &origin;
    anim.zoom = &zoom;
    anim.maxIterations = &maxIterations;

    drawFrame();
}
Пример #2
0
//--------------------------------------------------------------
void testApp::mousePressed(int x, int y, int button){
    currentSeed++;
    if( currentSeed >= seedList.size() ){
        currentSeed = 0;
    }
    
    createFractal( seedList[currentSeed] );
}
Пример #3
0
//--------------------------------------------------------------
void testApp::setup(){
    
    seedList.push_back( "VBWNBDELYHUL" );
    seedList.push_back( "CVQKGHQTPHTE" );
    seedList.push_back( "FIRCDERRPVLD" );
    seedList.push_back( "GIIETPIQRRUL" );
    currentSeed = 0;
    
    createFractal( seedList[currentSeed] );
    
    ofBackground(0);
}