2012-07-25 36 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