顯示具有 [程式]OpenGL 標籤的文章。 顯示所有文章
顯示具有 [程式]OpenGL 標籤的文章。 顯示所有文章

2014年6月9日 星期一

Mipmap 建立函數

可以用不限長寬的圖片來產生 Mipmap 所須各圖層的圖片。

MipmapCreate() 的第一個參數 Mipmap 用於回傳 Mipmap 所有圖層的陣列,格式為
{第 0 層圖片的指標, 第 1 層圖片的指標, ... 第 LevelNum-1 層圖片的指標}

第二個參數 WidthHeight 用於回傳各層圖片的長寬,格式為
{
第 0 層圖片的 Width, 第 0 層圖片的 Height,
...
第 LevelNum-1 層圖片的 Width, 第 LevelNum-1 層圖片的 Height
}

第三個參數 LevelNum 用於回傳建立的層數


2013年12月14日 星期六

OpenGL 呼叫擴增函數出現 Memory violation

一般 if(glewInit() != GLEW_NO_ERROR) 正確後就可以使用擴增函數(比如 glGenBuffers()),但若是將 glew.c 加入專案中,或是把 glew.c 編譯成靜態程式庫來使用,就得須把用到 OpenGL 的每個模組(exe 和 dll)都要呼叫一次 glewInit(),還有要記得在主程式(exe)已先做好 opengl context,才能讓 glewInit() 成功執行。

glewInit() 主要任務在從驅動程式中把擴增函數的位址抽出來,放好到函數指標供應用程式使用。

另外若是直接使用  glew.c 或靜態程式庫,還得在專案中加上前置識別字 GLEW_STATIC。