2017電腦圖學 Computer Graphics 授課教師: 葉正聖 銘傳大學資訊傳播工程系 每週主題: 程式環境、點線面顏色、移動/旋轉/縮放與矩陣(Matrix)、階層性關節轉動(T-R-T)、做出機器人、打光、貼圖、glu/glut函式、鍵盤、滑鼠、計時器(timer)、讀入3D模型、粒子系統、聲音、特效、投影矩陣、攝影機與運鏡、機器人2.0、期末作品
2017年6月30日 星期五
2017年5月15日 星期一
Week 13
2017年5月8日 星期一
Week 12
2017年5月1日 星期一
Week 11
2017年4月17日 星期一
week 09
製 作 繪 出 3D obj 檔 (may 模型)



用 老 師 給 的 專 案 跑 出 車 子


會 出 自 己 的 模 型

程式碼含意
glutDisplayFunc(display); ///顯示的函式
glutIdleFunc(display); //鹹鹹的時候 也去顯示
glClearColor(1,1,1,1);
//glEnable(GL_CULL_FACE); ///刪掉才能讓面正確顯示
//glCullFace(GL_BACK); ////刪掉才能讓面正確顯示
glEnable(GL_DEPTH_TEST); ///深度測試 3D功能
/// glDepthFunc(GL_LESS); ///做深度測試時的函釋是用來比大小的 "小於"LESS
剛好initial的值 就是GL_LESSf
glEnable(GL_LIGHT0); ///開啟 GL_LESS0 第0個燈
glEnable(GL_NORMALIZE); ///開啟
glEnable(GL_COLOR_MATERIAL); ///開啟
glEnable(GL_LIGHTING); ///開啟光的功能

用 老 師 給 的 專 案 跑 出 車 子
會 出 自 己 的 模 型
程式碼含意
glutDisplayFunc(display); ///顯示的函式
glutIdleFunc(display); //鹹鹹的時候 也去顯示
glClearColor(1,1,1,1);
//glEnable(GL_CULL_FACE); ///刪掉才能讓面正確顯示
//glCullFace(GL_BACK); ////刪掉才能讓面正確顯示
glEnable(GL_DEPTH_TEST); ///深度測試 3D功能
/// glDepthFunc(GL_LESS); ///做深度測試時的函釋是用來比大小的 "小於"LESS
剛好initial的值 就是GL_LESSf
glEnable(GL_LIGHT0); ///開啟 GL_LESS0 第0個燈
glEnable(GL_NORMALIZE); ///開啟
glEnable(GL_COLOR_MATERIAL); ///開啟
glEnable(GL_LIGHTING); ///開啟光的功能
2017年4月10日 星期一
2017年3月27日 星期一
2017年3月20日 星期一
week04
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix(); ///backup the matrix
glTranslated(0.5,0,0); ///位子移動的座標
glutSolidTeapot(0.3);
glPopMatrix(); ///restore the martix
glutSwapBuffers();
}
void motion (int x, int y)
{
mousex = (x-150)/150.0; /// x/300.0;
mousey = -(y-150)/150.0; ///y/300.0;
glutPostRedisplay();
}
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glScalef(mousex, mousey ,0); ///大小改變
glutSolidTeapot(0.3);
glPopMatrix();
glutSwapBuffers();
}
2017年3月13日 星期一
Week03
一 滑鼠函示
///glutMouseFunc(mouse);
///glutMotionFunc(motion);
二 滑鼠作標 ///glutMouseFunc(mouse);
void mouse(int button, int state, int x, int y)
{
printf("%d %d %d %d\n",button,state,x,y);
}
三 點選變色
四 滑鼠脫一變色 ///glutMotionFunc(motion);
五 化緣
程式碼
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glBegin(GL_POLYGON); ///可以更改為線
for(float angle=0; angle<3.1415962*2; angle+=0.001)
{
glVertex2f( cos(angle),sin(angle)); ///調整角度 }
glEnd();
glutSwapBuffers();
}
2017年2月20日 星期一
week01
訂閱:
文章 (Atom)


