1

GL_RGB_422_APPLE のサポートを追加しようとしています。

internalFormat = GL_RGB;

pixelFormat = GL_RGB_422_APPLE;

PixelType = GL_UNSIGNED_SHORT_8_8_APPLE;

glTexImage2D(GL_TEXTURE_2D, 0, InternalFormat, 2048, 2048, 0, PixelFormat, PixelType, 0);

しかし、`glCheckFramebufferStatus` は GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT エラーを返しています。

次のフォーマットでうまく機能しています: internalFormat = GL_RGB;

pixelFormat = GL_RGB;

PixelType = GL_UNSIGNED_BYTE;

GL_RGB_422_APPLE をサポートするために他に行うべき手順はありますか?

私たちのプロジェクトでは、すべてのピクセルに bool 値 (0/1) を格納するだけのテクスチャを使用しています。ブール値を格納するには、16ビット/ピクセルは非常にコストがかかります。そのため、上記の実装を探しています。

4

1 に答える 1

1

単なる OpenGL 開発者として、何に対しても「サポートを追加」することはできません。それが実装者の仕事です。OpenGL ES (GLES) 2.0 では、拡張機能でサポートされていない限り、RGB_422_APPLEフレームバッファ アタッチメントには使用できません。実際、GLES 2.0 の仕様には、サイズ設定された内部フォーマットについても言及されていません。奇妙なことに、フレームバッファのアタッチメントが合法であり、フレームバッファの完全性を損なわない場合の説明に、サイズが設定された内部形式を使用します

とにかく、通常のテクスチャと適切な拡張機能をサポートしていたとしても、[サイズが設定された内部] フォーマットがフレームバッファの添付ファイルとして使用され、そのフォーマットの拡張仕様RGBA_422_APPLEをスキミングすることから合法であるかどうか、およびどのように合法であるかについては何も述べていません。、それが合法であるという兆候はありません。

この特定のケースでは運が悪いと思います。

編集:明確にするために、非深度/非ステンシル テクスチャをフレーム バッファ アタッチメントとして使用できるようにするには、color-renderableである必要があります。上記の仕様では、その問題については何も言及されておらず、使用している実装も同様に考えているようです。

于 2013-09-23T13:47:19.993 に答える