這個例子在 windows下 採用 vc6.0 開發
首先確定你已經安裝並可以正常使用 glew 和 glut 擴充套件庫
第一步,建立頂點著色器和片元著色器檔案 「minimal.vert」 和 「minimal.frag」 並匯入到專案中。
檔案原始碼如下:
// 頂點著色器
void main()
這個頂點著色器非常簡單,就是將頂點座標做模型視點變換和投影變化,得到裁剪座標。
檔案原始碼如下:
// 片元著色器
void main()
這個片元著色器更加簡單,輸出乙個固定的顏色
我們知道著色器的源**是由opengl驅動程式進行編譯和鏈結的,opengl驅動程式大部分是由顯示卡廠商提供的並作為顯示卡驅動的一部分,因此vc並不能編譯和鏈結glsl的源**。vc要做的事是讀取這個以文字形式存在的源**,並將這些**以字元形式存下來,提交給opengl驅動程式。所以我們的例子中需要檔案操作方面的**。
第二步,建立opengl程式
程式原始碼如下:
#include
#include
#include
#include
#include
gluint v,f,f2,p;
float lpos[4] = ;
char *textfileread(char *fn)
fclose(fp);}}
return content;
}int textfilewrite(char *fn, char *s)
}return(status);
}void changesize(int w, int h)
float a = 0;
void renderscene(void)
void processnormalkeys(unsigned char key, int x, int y)
#define printopenglerror() printoglerror(__file__, __line__)
int printoglerror(char *file, int line)
return retcode;
}void printshaderinfolog(gluint obj)
}void printprograminfolog(gluint obj)
}void setshaders()
int main(int argc, char **argv)
setshaders();
glutmainloop();
return 0;
}
Dialog簡單範例
dialog很常用,所以記下來乙個比較好用,容易理解的小例子作為筆記 layoutinflater factory layoutinflater from purchasedetailsactivity.this 提示框 final view view factory.inflate r.layou...
GLSL下幾個簡單的Shader
在shaderdesigner下編shader是最為方便的,但這裡先用opengl下的程式設計來舉例 這幾個shader的實際效果 1.最簡單的固定單色shader vertex shader 座標經過投影矩陣變換 vtrans projection modelview incomingvertex...
GCC編譯簡單範例
原始檔為hello.c 無選項編譯鏈結 gcc hello.c將hello.c預處理 彙編 編譯並鏈結形成可執行檔案。這裡未指定輸出檔案,預設輸出為a.out 選項 o o選項用來指定輸出檔案的檔名 gcc hello.c o hello選項 e gcc e hello.c o hello.i將he...