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_SIZE
pageWidth と pageHeight は、たとえば 240 X 600 など、任意の値 ( より小さい値) にすることができます。では、この問題をどのように解決すればよいでしょうか?