----------------------------------------
Week08
(1)主題:打光
(2)期中模擬考
(3)T-R-T小考
(4)回家作業:3D Model會動(最少1個關節)
(5)Recap
----------------------------------------
期中考題:
glPushMatrix(); //備份矩陣
glTranslatef(x,y,z); //移動
glRotatef(angle, x,y,z); //旋轉
glScalef(x,y,z); //放大縮小
glBegin(GL_POLYGON); //開始畫
glNormal3f(nx,ny,nz); //法向量
glTexCoord2f(tx,ty); //貼圖座標
glColor3f(r,g,b); //顏色
glVertex3f(x,y,z); //頂點
glEnd(); //結束畫
glPopMatrix(); //還原矩陣
--------------------------------------------------------------------------------------------------------------------------
TODO:下載好需要的資料
使用Light&Material來玩打光!
把中間的圖形換成茶壺的
畫出一台車子
#include "glm.h"///(1)呼叫glm.h外掛
GLMmodel * pmodel =NULL;///(2)準備好指標
static void display(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
///(0)準備好3D模型,放在C:\Users\USER\Desktop\freeglut\bin\data\porsche.obj
///(3)忘了! 畫模型!!
if(!pmodel){
pmodel = glmReadOBJ("data/porsche.obj");
if(!pmodel)exit(0);
glmUnitize(pmodel);
glmFacetNormals(pmodel);
glmVertexNormals(pmodel,90.0);
}
glmDraw(pmodel, GLM_SMOOTH | GLM_MATERIAL);
///glutSolidTeapot(1);///glutSolidCone(1,1,slices,stacks);
glPopMatrix();
glutSwapBuffers();
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("GLUT Shapes");
glutDisplayFunc(display);
glutMainLoop();
return EXIT_SUCCESS;
}
Week08
(1)主題:打光
#include "glm.h"///(1)呼叫glm.h外掛
GLMmodel * pmodel =NULL;///(2)準備好指標
static void display(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
///(0)準備好3D模型,放在C:\Users\USER\Desktop\freeglut\bin\data\porsche.obj
///(3)忘了! 畫模型!!
if(!pmodel){
pmodel = glmReadOBJ("data/porsche.obj");
if(!pmodel)exit(0);
glmUnitize(pmodel);
glmFacetNormals(pmodel);
glmVertexNormals(pmodel,90.0);
}
glmDraw(pmodel, GLM_SMOOTH | GLM_MATERIAL);
///glutSolidTeapot(1);///glutSolidCone(1,1,slices,stacks);
glPopMatrix();
glutSwapBuffers();
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("GLUT Shapes");
glutDisplayFunc(display);
glutMainLoop();
return EXIT_SUCCESS;
}




沒有留言:
張貼留言