-1

つまり、関数がサポートする最大の幅と高さは何ですか、ありがとう! 画面の高さを 2 倍にしてみましたが、サポートされていないことを意味するエラー 0x8cdd が報告されました。

4

1 に答える 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 に答える