ARB_texture_storage 对比 OpenGL 硬件版本

ARB_texture_storage vs OpenGL hardware version

ARB_texture_storage 是自 OpenGL 4.2 以来的核心功能。该扩展在 OpenGL 4.2 之前发布。我想确定硬件必须支持的最低 OpenGL 版本是什么才能使用该扩展,例如 glTexStorage2DARB。文档说:

This extension is written against the OpenGL 3.2 Core Profile specification.

这是否意味着 GPU 至少应支持 OpenGL 3.2?

ARB_texture_storage 不是“硬件支持”的东西。总的来说,这是一个 API 的改进;它不会公开某些 GPU 可以做而其他 GPU 不能做的事情。

因此,在依赖项部分,扩展规范指出:

OpenGL ES 1.0, OpenGL ES 2.0 or OpenGL 1.2 is required.

这表示与此扩展兼容的最旧 OpenGL 版本。当然,您 高度 不太可能在野外找到 1.2 实现,更不用说在没有实现更高 GL 版本的情况下仍然受支持的实现了。

基本上,自此扩展发布以来 was/is 仍在维护其驱动程序的大多数硬件都将实现它。在开源驱动程序之外,大部分硬件都是某种形式的 GL 4.x。

此外,此扩展没有 ARB 版本的功能。这是一个兼容性扩展;它允许您在不支持 GL 4.2(假设驱动程序已更新)的硬件上使用 GL 4.2 API 功能,而无需强制您重命名函数或其他任何内容。