2022年5月3日 星期二

電腦圖學筆記week11

 Step01-1

繼續實作gla模型的練習

  1. 安裝好freeglut、opencv2.1(第10周)
  2. 開啟CodeBlocks建立新專案 week11_gundam
  3. 下載MyGundam.zip解壓縮後的data資料夾放到工作執行目錄(in C:\Users\uu187\Desktop\freeglut\bin)
  4. 將week09_opencv的程式碼拿來測試能不能把鋼彈的圖跑出來

#include <opencv/highgui.h>

int main ()

{///Ipl : Intel performance library

    IplImage * img = cvLoadImage("data/Diffuse.jpg"); 

    cvShowImage("week09",img); 

    cvWaitKey(0); 

}


Step01-2

將茶壺貼上Gundam的貼圖

  1. 將week10的mytexture程式碼放進程式
  2. 將myTexture("  ");改成("data/Diffuse.jpg");


Step02-1

將模型整個讀進來

  1. Computer Graphics (jsyeh.org)下載 [source](會用到glm.h、glm.c、transformation.c)
  2. 並將這三個檔案放進week11_gundam並將glm.c改成glm.cpp
  3. 將glm.cpp加入CodeBlocks的week11_gundam中
  4. 在main.cpp中加入程式碼
        #include "glm.h"
        GLMmodel * pmodel = NULL; //預設NULL是空指標
        在void display內加入以下程式碼
        if( pmodel == NULL){ //如果是空指標,表示模型還沒準備好
        pmodel = glmReadOBJ("data/Gundam.obj"); //讀模型
        glmUnitize( pmodel ); //轉換成Uint的大小
        glmFacetNormals( pmodel );  //計算模型頂點的法向量
        glmVertexNormals( pmodel , 90); //重新計算模型的法向量
        }
       glmDraw( pmodel, GLM_TEXTURE ); //得到模型後,畫貼圖
         

Step02-2
因為貼圖是上下顛倒的所以要把它改正
  1. 開啟貼圖檔案位置,利用小畫家將圖片翻轉就完成了

Step03-1
模型看起來是扁的,因為還沒開3D功能
並讓它旋轉
  1. 開啟3D功能 glEnable(GL_DEPTH);
  2. 旋轉-> glRotatef(角度,0,1,0);
  3. 加入float angle=0;
  4. angle+=0.1; 讓角度更動才會旋轉

Step03-2
了解如何將Maya匯出成obj模型檔案


Step03-3
利用茶壺做出手跟身體,並讓手以身體為中心坐旋轉
  1. 建立一個新專案week11_TRT
  2. 建立手跟身體(把茶壺當成手跟身體)
  3. 將手的茶壺座標移到茶壺右邊當成右手並讓它旋轉

沒有留言:

張貼留言

VERY BEAUTIFUL, VERY POWERFUL

一.     一樣先安裝且設定好freeglut,OpecCV, 開啟CodeBlocks建立新專案 week11_gundam,                 把 MyGundam.zip下載解壓縮後的data資料夾放到freeglut/bin裡面 把week09_openc...