0

我想尝试通过glCreateProgramand一次创建和链接多达 100 个着色器程序(可能是 40 个)(如果需要,可以glLinkProgram在它们之间切换)。onDrawFrame

每个都有简单的制服,比如一个或 2 个 vec4,或者一个浮点数等。简单的问题:在典型的 Android 设备上,我可以一次创建和链接的此类着色器程序的数量的大致限制是多少?40-100可以吗?

4

1 回答 1

1

GLES2 文档没有提到您可以在内存中保留多少程序的任何具体限制。我猜你可以编译和链接上万个程序。唯一的限制应该是可用的内存量。这一切都取决于程序,ascii 源代码和编译后的二进制文件都将由 GLES 上下文存储。

对于其他限制,请查看 glGet* 函数可以返回什么。

glGet[Booleanv|Floatv|Integerv],gles2 文档

于 2013-04-24T16:40:17.680 回答