2023年4月20日 星期四

於 week10

 Week10

OpenCV

安裝 OpenCV, 要記得 Add PATH

重開CodeBlocks

在 main() 加入 myTexture("Diffuse.jpg"); 圖檔也要放在 freeglut的bin

加上 Settings-Compiler咒語: C:\OpenCV2.1\include

加上 Settings-Compiler咒語: C:\OpenCV2.1\lib

加上 Settings-Compiler咒語: cv210 cxcore210 highgui210

新增week10-1

去cd 2023graphicsb

找出上禮拜程式08-2



截切、組合出可動的關節

week10-1


*因圖檔上下顛倒 所以要開起小畫家將圖片水平翻轉
更改week10.cpb的wjirking的位置改成"."
切割模型先開啟maya並讀入模型 刪除不要的 將要切的匯出
更改程式碼
讓他只顯示身體
顯示手臂更改頂點

#include <opencv/highgui.h> 

#include <opencv/cv.h>

#include <GL/glut.h>

int myTexture(char * filename)

{

    IplImage * img = cvLoadImage(filename); 

    cvCvtColor(img,img, CV_BGR2RGB); 

    glEnable(GL_TEXTURE_2D); 

    GLuint id; 

    glGenTextures(1, &id); 

    glBindTexture(GL_TEXTURE_2D, id); 

    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); 

    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); 

    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); 

    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); 

    glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, img->width, img->height, 0, GL_RGB, GL_UNSIGNED_BYTE, img->imageData);

    return id;

}


#include <GL/glut.h>

#include "glm.h"

float angle=0;

GLMmodel * pmodel =NULL;

GLMmodel * phand =NULL;

void display()

{

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

    if(pmodel==NULL){

        pmodel = glmReadOBJ("body.obj");

        glmUnitize(pmodel);

        glmFacetNormals(pmodel);

        glmVertexNormals(pmodel, 90);


    }

    if(phand==NULL){

        phand = glmReadOBJ("Left_hand.obj");

        glmUnitize(phand);

        glmFacetNormals(phand);

        glmVertexNormals(phand, 90);


    }

    glutSolidSphere(0.1, 30, 30);

    glPushMatrix();

        glRotatef(angle, 0, 1, 0);

        glTranslatef(0, -0.1, 0);

        glmDraw(phand, GLM_SMOOTH | GLM_MATERIAL | GLM_TEXTURE);

    glPopMatrix();


    ///glutSolidTeapot( 0.3 );

    angle++;

    glutSwapBuffers();

}

int main(int argc, char**argv)

{

    glutInit( &argc, argv );

    glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);

    glutCreateWindow("week10");


    myTexture("Diffuse.jpg");

    glEnable(GL_DEPTH_TEST);

    glutDisplayFunc(display);

    glutIdleFunc(display);

    glutMainLoop();

}





如何github


1. 開啟 Git Bash

2. cd desktop 進入桌面
    git clone https://github.com/jsyeh/2021cce2 把雲端複製下來
    cd 2021cce2 進入你的目錄

3. 把你的 桌面\2021cce2 裡面, 放好你本週的程式 ex. week06 裡面有今天的程式

4. 先把你放好的程式,加入 git 的帳冊
git status (看到紅紅的檔案)

git add .

git status (看到綠綠的檔案)


5. 你要 commit 它
git config --global user.email jsyeh@mail.mcu.edu.tw
git config --global user.name jsyeh

git commit -m "add week06" 

6. git push 推送上雲端



沒有留言:

張貼留言