我的意思是函数支持的最大宽度和高度是多少,谢谢!我试了两次屏幕高度,报错 0x8cdd 表示不支持。
问问题
619 次
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。状态表 - 第 154 页
于 2013-10-27T02:25:46.190 回答