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が「バッファを表示するだけ」できないとは信じられません.