つまり、関数がサポートする最大の幅と高さは何ですか、ありがとう! 画面の高さを 2 倍にしてみましたが、サポートされていないことを意味するエラー 0x8cdd が報告されました。
1 に答える
2
疑問がある場合は、常に拡張機能の仕様をお読みください...この場合: GL_APPLE_framebuffer_multisample
.
拡張機能の仕様を読むGL_MAX_RENDERBUFFER_SIZE
と、拡張機能自体に固有の追加の実装定義の制限が示されますGL_MAX_SAMPLES_APPLE
。
つまり、幅と高さが の値を超えることはGL_MAX_RENDERBUFFER_SIZE
できず、サンプル数が を超えることはできませんGL_MAX_SAMPLES_APPLE
。したがって、実行時にこれらの値を照会し、それに応じて行動する必要があります。
GLuint max_rb_size, max_samples_apple;
glGetIntegerv (GL_MAX_RENDERBUFFER_SIZE, &max_rb_size);
glGetIntegerv (GL_MAX_SAMPLES_APPLE, &max_samples_apple);
これはあなたの質問に答えるはずです。これは実装固有であるため、これが私ができる最善のことです。GLES2 では MAX_RENDERBUFFER_SIZE が少なくとも 1x1 である必要があり (冗談ではありません)、Apple の拡張機能でサポートされる必要があるサンプルは 1 つだけです。これらの必要な最小値のいずれも特に有用ではないため、実行時にクエリを実行して、実際のシステムがサポートするものを見つける必要があります:)
OpenGL ES 2.0.25 仕様- 6.2。ステート テーブル - pp. 154
于 2013-10-27T02:25:46.190 に答える