2023年5月10日 星期三

Y13

WEEK13

week13-1


MAYA裁切模型的肢體


從jsh網址打開
模式從mamb改成








<以下為控制鍵>
ALT+LEFT:
ALT+C:平移
滾輪:縮放
左鍵:
FILE-:
FILE-:



ff




week13-2


因為要liblib
檔案 想備份的話在前面加#
會變成註解

final_project

組合模型(匯入模型&組合)

把week10的glm複製到FINAL _project專案
在專案的add file,把檔案傳進來
file-save everytjing存檔
載好的head.obj body.obj uparmR.obj lowarmR.obj 複製到專案model目錄






glDraw(bodyGLM_MATTERIAL);
glMatrix();
glutSwapBuffers()

紅色身體


#include <stdio.h>
#include <GL/glut.h>
#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();
}
FILE * fout = NULL;
FILE * fin = NULL;
float teapotX=0,teapotY=0;
float angle=0,angle2=0,angle3=0;
void display(){

  glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
  glPushMatrix();
    glScalef(0.2,0.2,0.2);
    if(body==NULL){
     head=glmReadOBJ("model/head.ob");
     body=glmReadOBJ("model/body.ob");
     uparmR=glmReadOBJ("model/uparmR.ob");
     lowarmR=glmReadOBJ("model/lowarmR.ob");
    }
  if(show[0]) glmDraw(head,GLM_MATERIAL);
    glPopMatrix();
  if(show[1]) glmDraw(body,GLM_MATERIAL);
    glPopMatrix();
  if(show[2]) glmDraw(uparmR,GLM_MATERIAL);
    glPopMatrix();
  if(show[3]) glmDraw(lowarmR,GLM_MATERIAL);
  glPopMatrix();
  glutSwapBuffers();
}
int oldX=0,oldY=0;
void motion(int x,int y){
teapotX +=(x-oldX)/150.0;
teapotY +=(y-oldY)/150.0;
oldX=x;
oldY=y;
printf("glTranslatef(%f,%f,0);\n",teapotX,teapotY);
glutPostRedisplay();
 }
 void mouse(int button,int stage,int x,int y){
 if(stage==GLUT_DOWN){
 oldX=x;
 oldY=y;
 angle=x;

 }
 display();
}

git不會備份.obj,.dll,.a,.lib,要在傳之前先註解,怕檔案消失
改完CodeBlocks>Save everything







 

沒有留言:

張貼留言