4

複数の OpenGL/Glut ウィンドウを開く方法を知りたいです。そして、サブウィンドウではなく同時に複数のウィンドウを意味し、同じウィンドウを更新しません

4

2 に答える 2

2

1 つのウィンドウを作成するのと同じ方法ですが、複数回行う必要があります。

#include <cstdlib>
#include <GL/glut.h>

// Display callback ------------------------------------------------------------

float clr = 0.2;

void display()
{
    // clear the draw buffer .
    glClear(GL_COLOR_BUFFER_BIT);   // Erase everything

    // set the color to use in draw
    clr += 0.1;
    if ( clr>1.0)
    {
        clr=0;
    }
    // create a polygon ( define the vertexs)
    glBegin(GL_POLYGON); {
        glColor3f(clr, clr, clr);
        glVertex2f(-0.5, -0.5);
        glVertex2f(-0.5,  0.5);
        glVertex2f( 0.5,  0.5);
        glVertex2f( 0.5, -0.5);
    } glEnd();

    glFlush();
}

// Main execution  function
int main(int argc, char *argv[])
{
    glutInit(&argc, argv);      // Initialize GLUT
    glutCreateWindow("win1");   // Create a window 1
    glutDisplayFunc(display);   // Register display callback
    glutCreateWindow("win2");   // Create a window 2
    glutDisplayFunc(display);   // Register display callback

    glutMainLoop();             // Enter main event loop
}

この例では、同じコールバックを両方のウィンドウでレンダリングするように設定する方法を示します。ただし、ウィンドウにはさまざまな機能を使用できます。

于 2013-02-08T09:21:16.280 に答える