week13 - 裁切模型
使用Maya匯入模型後,就需要的肢體部位做分段儲存(使用OBjproject檔)
附註:上課時暫用老師帳號,回家要自己申請帳號
Final_Project
feeglut工作目錄不對等的情況的處理
專案==> properties ==> project setting ==> project's build options ==> ...... ==> C:\Users\Administrator\Desktop\freeglut\include ==> freeglut\include
讀取obj檔,記得先加入glm.cpp 跟 glm.h兩個檔案((可以從week10複製來用))
.....
#include "glm.h"
GLMmodel * head = NULL;
GLMmodel * body = NULL;
GLMmodel * uparmR = NULL;
GLMmodel * lowarmR = NULL;
int show[4] = {0,1,0,0};
void keyboard(unsigned char key, int x, int y){
if(key=='0') show[0] = !show[0];
if(key=='1') show[1] = !show[1];
if(key=='2') show[2] = !show[2];
if(key=='3') show[3] = !show[3];
glutPostRedisplay();
}
float teapotx = 0, teapoty = 0;
FILE * fout = NULL;
FILE * fin = NULL;
void display(){
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glScaled(0.2,0.2,0.2);
/// glTranslatef(teapotx, teapoty, 0);
/// glutSolidTeapot(0.3);
if(body == NULL){
head = glmReadOBJ("Model/head.obj");
body = glmReadOBJ("Model/wholebody.obj");
uparmR = glmReadOBJ("Model/uparmR.obj");
lowarmR = glmReadOBJ("Model/armhandR.obj");
///glmUnitize(body);
}
if(show[0]) glmDraw(head, GLM_MATERIAL);
if(show[1]) glmDraw(body, GLM_MATERIAL);
if(show[2]) glmDraw(uparmR, GLM_MATERIAL);
if(show[3]) glmDraw(lowarmR, GLM_MATERIAL);
glPopMatrix();
glutSwapBuffers();
}
加入glTranslatef函式使得手臂能移動
沒有留言:
張貼留言