OpenGLとJOGLでフレームバッファをいじっています。描画する Graphics オブジェクトがあります。
Graphics が変更されるたびに、R、G、B、および A の情報を各ピクセルのバイトとして抽出し、ARGB の順序で ByteBuffer に書き込みます。変換を確認しましたが、問題ありません。
GL_RGB モードを使用して drawPixels メソッドを呼び出すと、指定された座標にボックスが描画されます。グラフィックに含まれる色に関係なく、黒で描画されます。GL_RGBA モードを使用すると、何も描画されません。
したがって、フレームバッファ操作のコードでは、ib1 は画像データを含むバイト バッファです。
GL gl=canvas.getGL();
gl.glMatrixMode(GL.GL_PROJECTION);
gl.glLoadIdentity();
gl.glOrtho (0, canvas.getWidth(), canvas.getHeight(),0, -1.0, 1.0);
gl.glMatrixMode(GL.GL_MODELVIEW);
gl.glLoadIdentity();
gl.glDisable(GL.GL_DEPTH_TEST);
gl.glColor3f(1, 1, 1);
//
gl.glRasterPos2i(0, height);
//gl.glDrawPixels(width, height, GL.GL_RGB, GL.GL_BYTE, ib1);
gl.glDrawPixels(width, height, GL.GL_RGBA, GL.GL_BYTE, ib1);
よろしくお願いいたします。