如果Opengl允许创建width = height = 0的纹理,那么指定其他参数(如内部格式,格式等)的用途是什么。其次,这种纹理的用途是什么。
答案 0 :(得分:4)
默认情况下,由于默认的最小/最大LOD,您实际上有 1000 图像,其中 0 宽度和 0 高度/纹理。这实际上很好,只要你不尝试应用mipmap缩小过滤器。较新版本的GL将指的是某些但并非所有LOD都被分配为 mipmap incomplete 而不是调用整个纹理不完整的情况。
如果你看glTexStorage2D (...)
,你会注意到无法创建 0 宽度, 0 高度或 0 <的纹理/ strong> LOD,因为它必须为 完整 纹理创建存储空间。
如果需要,可以使用glTexImage2D (...)
创建mipmap不完整纹理,实际上如果没有正确设置LOD参数,通常会这样做。同样,将纹理LOD调整为 0x0 将有效地释放其内存。这允许您删除mipmap而无需重新分配并将基本LOD发送到GL。
你是否觉得有用是另一回事,但这是glTexStorage2D (...)
无法做到的事情。