所以我刚刚意识到我正在为 3d 纹理编写的代码是用于 OpenGL 1.1 或其他东西的,并且在 OpenGL 3.3 中不再支持。没有glTexture3D还有另一种方法吗?也许通过我不知道的 OpenGL 3.3 中的库或其他函数?
编辑:我不确定我在哪里读到 3d 纹理是在较新版本中从 OpenGL 中取出的(今天一直在谷歌上搜索),但请考虑一下:
我一直在关注这里的教程/指南。该程序编译顺利。现在阅读文章中的以下引用:
程序运行的环境可能不支持 3D 纹理,这会导致我们返回一个 NULL 地址,并且尝试使用 NULL 指针是一件坏事,因此请务必检查它并做出适当的响应(提供的示例退出并出现错误)。
该引用是指以下功能:
glTexImage3D = (PFNGLTEXIMAGE3DPROC) wglGetProcAddress("glTexImage3D");
在我的计算机(具有 OpenGL 3.3)上运行我的程序时,相同的函数为我返回 null。当我的朋友在他的计算机(具有 OpenGL 1.2)上运行它时,它不会返回 null。