1

2番目のopenglキャンバスに描画する必要がある最初のopenglキャンバスから取得したスクリーンショットがあります。を使用してスクリーンショットを撮りましたglReadPixels

glReadPixels(posx, posy, pageWidth , pageHeight, GL_RGB, GL_UNSIGNED_BYTE, data);

最初の OpenGL キャンバスには、いくつかの線とテキスト データを含む 2 つ以上の画像があります。2番目のopenglキャンバスを使用して、周囲のデータ全体で画像のタイリングを表示しています.2番目のopenglキャンバスで同じものを再描画したくないため、スクリーンショットを撮り、スクリーンショットのタイリング部分を描画したい2 番目のキャンバスで。

また、取り込んだスナップショットをjpgファイルに保存しましたが、これは完璧です。

しかし、使用されている pageWidth または pageHeight が 2K+ 2 として表現できないため、glTexImage2d を使用してピクセル データを描画する必要がある場合に問題が発生します。したがって、エラーはGL_INVALID_VALUE.

glTexImage2D (GL_TEXTURE_2D, 0, imgSamplesPerPixel), 
    pageWidth,  pageHeight, 0,SamplesPerPixel, GL_UNSIGNED_BYTE, data);

GL_MAX_TEXTURE_SIZEpageWidth と pageHeight は、たとえば 240 X 600 など、任意の値 ( より小さい値) にすることができます。では、この問題をどのように解決すればよいでしょうか?

4

0 に答える 0