2012-12-03 48 views
0

爲什麼一些GL圖像函數需要使用GL Load來初始化OpenGL上下文?是否有可能使用GLEW來充分利用GL圖像來初始化OpenGL上下文?GL圖像和加載OpenGL函數

+0

GLEW並沒有GLload來初始化OpenGL上下文,它們加載高級OpenGL功能(擴展和功能不是系統核心ABI的一部分)。 – datenwolf

回答

3

如果你正在談論Unofficial SDK'sGL Image system,答案是否定的。 SDK旨在成爲一攬子交易;如果你使用其中的一部分,你應該使用其餘部分。畢竟,如果您可以構建幷包含GL圖像,那麼您也可以使用GL Load,因爲它們是捆綁在一起的。

和GL負載完全符合GLEW的要求;它在很多方面都更好,因爲它不需要「實驗性」的東西來使它在覈心環境下工作。通過C界面,您可以用#include <glload/gl_[Insert Version Here].h>替換所有#include <GL/glew.h>零件。您不需要修改除此之外的任何代碼(以及當然的初始化代碼)。

話雖這麼說,你應該可以,只要使用GL負載和GLEW同時,

  1. 初始化兩者的。這意味着在創建OpenGL上下文之後調用glewInitLoadFunctions。他們的變量不應該相互作用或任何事

  2. 從不嘗試將兩個非系統標頭包含在同一個文件中。 GL Image的TextureGenerator.h實際上是專門設計爲而不是要求包含OpenGL標頭(也就是說,它不直接使用GL類型,如GLintGLenum)。

這顯然是浪費,因爲他們完全一樣的工作。但它應該工作。