3

OpenGL を使用して、カスタム フレーム バッファー (フレーム バッファー機能のエミュレーターのようなもの) を表示する単純なアプリケーションを作成しました。

void GLWidget::resizeGL( int w, int h )
{
    glViewport( 0, 0, w, h );
    glMatrixMode( GL_PROJECTION );
    glLoadIdentity();
    glOrtho( 0, w, 0, h, -1, 1 );
}

void GLWidget::paintGL()
{
    if( pScreen != 0 )
    {
        glRasterPos2i( 0, 2 * pScreen->height );
        glPixelZoom( 2, -2 );
        glPixelStorei( GL_UNPACK_ALIGNMENT, 1 );
        glDrawPixels( pScreen->width, pScreen->height, GL_RGB, GL_UNSIGNED_SHORT_5_6_5, pScreen->pixels );
    }
}

本当に、私がやりたいのはこれだけです。シェーダーも派手なトリックもありません。ダブル ズームと表示だけです。このコードは何年も前のものであり、Windows に移植しているときに、もうコンパイルされないことに気付きました。最初は Windows 固有のものだと思っていましたが、実際には Windows 7 に付属している新しい OpenGL であることに気付きました (私が日常的に使用している Arch Linux とは異なります)。

それで、それについて何をすべきか?行列用のカスタム数学ライブラリをインストールする気はありません.最新のOpenGLが「バッファを表示するだけ」できないとは信じられません.

4

1 に答える 1