문제

나는 사용하고있다 FBO내 OpenGL 코드에 가 있는데 컴파일 오류가 표시됩니다. GL\_FRAMEBUFFER\_INCOMPLETE\_DUPLICATE\_ATTACHMENT\_EXT.이 문제의 원인은 무엇이며 어떻게 해결합니까?

도움이 되었습니까?

해결책

이 오류의 원인은 이전 버전의 NVIDIA입니다. glext.h, 여전히 이 정의가 있습니다.반면 최신 버전은 글로우 하지 않다.이로 인해 이전에 작성했거나 웹에서 가져온 코드에서 컴파일 오류가 발생합니다.

그만큼 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