2012-07-25 102 views
0

因此,我刚刚意识到我正在为3d纹理进行工作的代码是OpenGL 1.1或其他,OpenGL 3.3不再支持。有没有另外一种方法来做到这一点没有glTexture3D?也许通过OpenGL 3.3中的库或其他函数,我不知道?如何在OpenGL 3.3中实现3d纹理

编辑: 我不知道,我读了3D纹理是在新版本中取出的OpenGL(被谷歌搜索了很多今天),但考虑到这一点:

我一直在下面的教程/指南here 。该程序编译顺利。现在请阅读文章中的以下引用:

程序运行的环境不支持3D纹理,这会导致我们返回NULL地址,并试图使用NULL指针是一个坏东西,所以一定要检查它并做出适当的响应(所提供的示例会退出并显示错误)。

那报价参照以下功能:

glTexImage3D = (PFNGLTEXIMAGE3DPROC) wglGetProcAddress("glTexImage3D"); 

当我的计算机上运行我的程序(其中有OpenGL 3.3)相同的功能,我将返回null。当我的朋友在他的电脑上(它有OpenGL 1.2)运行它时,它不会返回null。

+0

我找不到/不知道任何信息的有关卷纹理被废弃或任何支持下降。你能提供一个链接吗? – Ani 2012-07-25 21:46:38

+1

...它不被弃用http://www.opengl.org/sdk/docs/man4/xhtml/glTexImage3D.xml – 2012-07-25 21:49:30

+0

查看更新的帖子。 – LucasS 2012-07-25 22:22:46

回答

1

自从OpenGL-1.2以来,上传3D纹理的方式并没有改变。这个功能仍然命名

  • glTexImage3D
  • glTexSubImage3D
  • glCopyTexSubImage3D