所以我想做的是:
将使用任何算法(在我的情况下为 AES-256)加密的文件加载到 GPU 内存(使用 CUDA)中。
使用我们现在拥有的所有 GPU 并行功能解密文件,并让它保留在 GPU 内存中。
现在告诉 OpenGL (4.3) 内存中有一个纹理需要从 DDS DXT5 中读取和解压缩。
第 3 点是我怀疑的地方。由于要在 OpenGL 中加载压缩的 DDS DXT5,因此必须使用压缩类型 (GL_COMPRESSED_RGBA_S3TC_DXT5_EXT) 和指向图像数据缓冲区的指针调用 openGL::glCompressedTexImage[+ 2D|3D|2DARB...]。
那么,简而言之->有没有办法将GPU内存中已经存在的纹理缓冲区地址传递给OpenGL(DDS格式)?如果没有这个选项,我需要将 AES 解密文件传输回 CPU 并告诉 OpenGL 将其再次加载到 GPU 中......
非常感谢您提供任何帮助或简短示例;)