OpenGL:如何获取指向视频 RAM 的纹理像素指针?
OpenGL: How to get a pointer into video RAM for a texture's pixels?
我想直接访问视频内存中的纹理像素。这在 OpenGL 中可能吗?
没有。 OpenGL 的整体理念是提供适用于供应商和架构的 GPU 硬件 抽象 。允许直接访问 VRAM 会在很多方面破坏这种抽象:
- 假设系统有VRAM。
- 假定纹理当前位于 VRAM 中。即使在具有 VRAM 的系统上,纹理也不能在任何给定时间或根本不在 VRAM 中。
- 它可能会限制 VRAM 中数据的内存 format/layout,因为它可以从外部访问。 VRAM 中像素的布局可能与系统内存中的布局有很大不同。
即使暂时搁置所有这些,如果您确实可以选择这样做,您可能对结果不会很满意。从 CPU 访问 VRAM 不一定非常有效。
我想直接访问视频内存中的纹理像素。这在 OpenGL 中可能吗?
没有。 OpenGL 的整体理念是提供适用于供应商和架构的 GPU 硬件 抽象 。允许直接访问 VRAM 会在很多方面破坏这种抽象:
- 假设系统有VRAM。
- 假定纹理当前位于 VRAM 中。即使在具有 VRAM 的系统上,纹理也不能在任何给定时间或根本不在 VRAM 中。
- 它可能会限制 VRAM 中数据的内存 format/layout,因为它可以从外部访问。 VRAM 中像素的布局可能与系统内存中的布局有很大不同。
即使暂时搁置所有这些,如果您确实可以选择这样做,您可能对结果不会很满意。从 CPU 访问 VRAM 不一定非常有效。