gpt4 book ai didi

opengl - glGenTextures - 纹理数量有限制吗?

转载 作者:行者123 更新时间:2023-12-04 01:43:08 25 4
gpt4 key购买 nike

可以在 OpenGL 中创建的纹理数量是否有限制 - 即使用 glGenTextures?

我知道 GL 施加了一些限制,例如。可以在片段着色器中使用的纹理数量。但是,我一直无法找到有关可用整数“纹理名称”总数的任何类型的文档。

最佳答案

glGenTextures 的唯一限制是纹理名称 (GLint) 的位宽,即 32 位;确实,纹理名称的数量可以如此之多,以至于您在生成纹理名称时可能永远不会遇到问题。

纹理的限制是图形系统的内存。只有当应用程序使用 glTexImage2D(和其他 glTexImage* 函数,如果可用)提交纹理数据时,OpenGL 实现才知道纹理大小和格式,它指定宽度、高度和内部纹理格式:拥有这些参数可以确定所需的内存存储纹理数据。

要检查错误,您应该使用 glGetError 查询 OpenGL 错误,如果操作未能分配所需的内存,它将返回 GL_OUT_OF_MEMORY。 glGenTextures 和 glTexImage2D 等也可以返回此错误。

此错误最有可能由 glTexImage2D 等返回,因为纹理分配所需的内存远大于将纹理名称标记为已使用所需的内存。

关于opengl - glGenTextures - 纹理数量有限制吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6354208/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com