-1

我的意思是函数支持的最大宽度和高度是多少,谢谢!我试了两次屏幕高度,报错 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。状态表 - 第 154 页

在此处输入图像描述 在此处输入图像描述

于 2013-10-27T02:25:46.190 回答