2016-08-07 4 views
1

OpenGL 3.2 SDL 컨텍스트가있는 OSX 10.11.5에서 GL_DEPTH_STENCIL_ATTACHMENT TEXTURE가있는 프레임 버퍼를 만들려고합니다. 이 텍스처로 생성OSX OpenGL 깊이 스텐실 조합

glFramebufferTexture2D(GL_FRAMEBUFFER, GL_DEPTH_STENCIL_ATTACHMENT, GL_TEXTURE_2D, depthTexture, 0); 

은 다음과 같습니다 :

glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH32F_STENCIL8, width, height, 0, GL_DEPTH_STENCIL, GL_FLOAT_32_UNSIGNED_INT_24_8_REV, 0); 

내가이 코드는 내 오랜 아치에 완벽하게 작동하는 데 사용하기 때문에 이것이 OSX 문제를 알고는 다음 줄의 OpenGL 오류 1280을 생성하는 것 리눅스 컴퓨터. 나는 공식 tutorial을 읽었으며 결합 된 깊이와 스텐실 텍스처 첨부에 대한 언급이 없습니다. 그래서이 기능은 지원되지 않습니까? 아니면 제가 잘못 했나요? 이 기능이 지원되지 않으면 대체 방법으로 무엇을해야합니까? 별도의 깊이와 스텐실 텍스처를 2 개 생성 하시겠습니까?

답변

2

불편을 끼쳐 드려 죄송 합니다만, 디버깅이 잘못되었습니다. OSX은 스텐실/깊이 하이브리드를 지원하지만 애플의 문서에는 많은 정보가 없다.

glDrawBuffers(textureCount, allColorBuffers); 

texCount 내 모든 컬러 버퍼와 함께 깊이 텍스처를 포함하기 때문에 잘못 : 내 오류는 실제로 다음과 같이이었다 다음 라인에서왔다. 따라서 textureCount를 textureCount-1로 변경하면이 문제를 완전히 해결할 수 있습니다.

+0

궁금한 점이 있으시면 xcode를 사용하여 OpenGL 소프트웨어를 만드시겠습니까? –

+0

@BjornTipling yup lol – Jas

관련 문제