生成的結果如下,初學者,只是使用了一些基礎的函式:
**如下:
#include#includeusing namespace std;
#include//莫比烏斯環座標生成巨集
#define mobiusx(u,v) ((1+(v)*cos((u)/2)/2)*cos(u))
#define mobiusy(u,v) ((1+(v)*cos((u)/2)/2)*sin(u))
#define mobiusz(u,v) ((v)*sin((u)/2)/2)
const int p1 = 8, p2 = 8;
const double pi = 3.1415926;//圓周率pi
//儲存繪製點座標
glfloat cp0[p1][p2][3];//點座標陣列
glfloat light_ambient = ;//環境光
glfloat light_diffuse = ;//散射光
glfloat light_specular = ;//鏡面光
glfloat light0_position = ;//0號光源位置
glfloat light1_position = ;//1號光源位置
//莫比烏斯環函式宣告
void disinit();//顯示初始化
void displayface();//繪製圖形
void reshap(glsizei w, glsizei h);//視窗修正
int mobius(int argc, char* ar**);//莫比烏斯環生成函式
int main(int argc, char* ar**)
int mobius(int argc, char* ar**)
void disinit()
}glclearcolor(0, 0, 0, 0);//黑色背景
//設定0號光源
gllightfv(gl_light0, gl_ambient, light_ambient);
gllightfv(gl_light0, gl_diffuse, light_diffuse);
gllightfv(gl_light0, gl_specular, light_specular);
gllightfv(gl_light0, gl_position, light0_position);
//設定1號光源
gllightfv(gl_light1, gl_ambient, light_ambient);
gllightfv(gl_light1, gl_diffuse, light_diffuse);
gllightfv(gl_light1, gl_specular, light_specular);
gllightfv(gl_light1, gl_position, light1_position);
glenable(gl_lighting);//使用光照
glenable(gl_light0);//開啟0號光源
glenable(gl_light1);//開啟1號光源
//讓圖形可以反射光
glenable(gl_auto_normal);
//啟用深度測試
glenable(gl_depth_test);
}void displayface()//繪製圖形
void reshap(glsizei w, glsizei h)//視窗修正
乙個簡單的OpenGL程式
乙個簡單的opengl程式 cheungmine 2009 2 這是乙個windows控制台程式,建立乙個空專案,把下面的檔案新增進去,編譯即可。需要更改的是路徑 依存的庫目錄 win opengl32 inc gl.h,glu.h,glut.h lib glu32.lib,opengl32.lib...
在MFC下使用OpenGL的乙個簡單的例子
最近開始準備做opengl方面的東西,萬事開頭難,真是體會頗深,簡直就是寸步難行。有時候發各帖子到網上,不停地重新整理,希望能有高手指點,可是,每次收穫並不是太大。也許,每個程式設計師都有乙個痛苦的過程,我當然不能例外了。不過,痛苦之後有收穫才是最大的快樂。正因為這個原因,當我度過了自己的第一難關時...
乙個openGL的函式
最近挺忙很久沒寫東西。目前在寫一些opengl的東西,對於這個在3年前接觸過但是沒學好的語言一直耿耿於懷,其實很喜歡opengl。而且最近也沒事就一直開始寫著,寫opengl檢視模型的時候其實很重要的乙個東西就是它內部的矩陣棧。所以寫了乙個函式,專門用來輸出日誌,我自己覺的挺好用。這個函式的作用是專...