2016-08-07 6 views
1

OpenGL 3.2 SDLコンテキストでOSX 10.11.5でGL_DEPTH_STENCIL_ATTACHMENT TEXTUREを使用してフレームバッファを作成しようとしています。次の行は、OpenGLのエラー1280を作成しているようです: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の問題である知っていますLinuxコンピュータ。私は公式tutorialを読んでおり、深さとステンシルのテクスチャの結合について言及していません。この機能はサポートされていませんか、間違っていますか?この機能がサポートされていない場合は、代わりに何をすべきですか? 2つの異なる奥行きとステンシルテクスチャを作成しますか?

答えて

2

このことについて申し訳ありませんが、私は間違ったデバッグを行っていました。 OSXは、Appleのドキュメンテーションにそれに関する多くの情報がないにもかかわらず、ステンシル/深度ハイブリッドをサポートしています。

glDrawBuffers(textureCount, allColorBuffers); 

texCountはすべて私のカラーバッファと一緒に深さのテクスチャが含まれているため間違っていた:私のエラーは、実際には以下の通りであった次の行から来ました。だから、textureCountをtextureCount-1に変更すると、これが完全に解決されました。

+0

xcodeを使ってOpenGLソフトウェアを構築していますか? –

+0

@BjornTipling yup lol – Jas