2016-10-04 10 views
1

私は、iOS(テストでテスト済み)のGL_TEXTURE18以上のテクスチャを使用した場合、presentRenderbufferEXC_BAD_ACCESSをトリガーすることがわかりました。それには何らかの理由がありますか?テクスチャを使用することはできませんGL_TEXTURE31ios-presentRenderbufferトリガーEXC_BAD_ACCESS

答えて

1

GL_TEXTUREXは定義された値であり、列挙されています。あなたのケースでは、GPUはサポートされているテクスチャの実際の数を定義するものであり、これらの制限事項を確認するのはあなたの責任です。

あなたのようなglGet何か使用していることを得ることができます:

GLint max_combined_texture_image_units; 
glGetIntegerv(GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, &max_combined_texture_image_units); 

thisスレッドを試してみてください。

これらの定義/列挙はあなたを助けるためのものであり、実際に有効であるかサポートされているわけではありません。 OpenGL APIはほとんどの場合、整数値typedef uint32_t GLenum;を渡すことによって設計されています。つまり、GL_TEXTURE01200または他の値に置き換えることができますが、その値が実際に有効であることを確認する必要があります。

+0

非常にクリア、ありがとう! – Guig