質問

使っています FBOOpenGL コードに があり、コンパイル エラーが表示されます。 GL\_FRAMEBUFFER\_INCOMPLETE\_DUPLICATE\_ATTACHMENT\_EXT. 。これの原因は何ですか?どうすれば修正できますか?

役に立ちましたか?

解決

このエラーの原因は、NVIDIA の古いバージョンです。 glext.h, 、この定義はまだ残っています。一方、最新バージョンの グロー しないでください。これにより、以前に作成したコードや Web から取得したコードでコンパイル エラーが発生します。

GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT FBO の定義は以前は仕様 (したがってヘッダー ファイル) に存在していました。しかし、その後削除されました。この理由は次のとおりです。 FBO拡張仕様 (問題 87 を探してください):

(87) What happens if a single image is attached more than once to a
     framebuffer object?

     RESOLVED: The value written to the pixel is undefined.

     There used to be a rule in section 4.4.4.2 that resulted in
     FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT if a single
     image was attached more than once to a framebuffer object.

         FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT   0x8CD8

         * A single image is not attached more than once to the
           framebuffer object.

           { FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT }

     This rule was removed in version #117 of the
     EXT_framebuffer_object specification after discussion at the
     September 2005 ARB meeting.  The rule essentially required an
     O(n*lg(n)) search.  Some implementations would not need to do that
     search if the completeness rules did not require it.  Instead,
     language was added to section 4.10 which says the values
     written to the framebuffer are undefined when this rule is
     violated.

このエラーを修正するには、次の使用をすべて削除します。 GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT コードから。

これがセットアップで不可能な場合は、ダミーの定義を glext.h または グロー.h 次のようなファイル:

#define GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT 0x8CD8
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top