2022年5月3日 星期二

shhhhhi : )

 week11

1.下載mygundam.zip檔,並開啟week09 openCV 的程式碼

👉

#include <opencv/highgui.h>

int main()

{

    IplImage*img=cvLoadImage("Diffuse.jpg");///要放在工作執行目freeglut/bin/data

    cvShowImage("week09",img);

    cvWaitKey(0);

}

結果:


2.複製 week09-texture-mix的程式碼,把鋼彈貼圖貼到茶壺上

結果:


程式碼:



3.鋼彈模型

(1)至jsyeh.org/3dcg10下載source.zip

(2)把glm.c的檔名改為glm.cpp,把glm.h & glm.cpp 複製到week11-gundam專案目錄裡

(3)在week11-gundam的專案中,加入glm.cpp

(4)👉新增程式碼

#include "glm.h"///在專案目錄

GLMmodel*pmodel=NULL;///指標指到模型

display中:

    if(pmodel==NULL)///如果是空指標

    {

        pmodel=glmReadOBJ("Gundam.obj");///讀取模型

        glmUnitize(pmodel);///換算成Unit單位大小,-1...+1

        glmFacetNormals(pmodel);///重新計算模型的面的法向量

        glmVertexNormals(pmodel,90);///重新計算頂點的法向量

    }

    glmDraw(pmodel,GLM_TEXTURE);///有模型後,畫面要記得畫貼圖


完整程式碼:



4.改善鋼彈貼圖方向(用小畫家垂直翻轉)






5.

(1)開3D的前後深度測試(讓貼圖貼在對的位置)

→glEnable(GL_DEPTH_TEST)

(2)讓模型旋轉

外部:

    float angle=0;

display中:

    glPushMatrix();

        glRotatef(angle,0,1,0);

        glmDraw(pmodel,GLM_TEXTURE);///有模型後,畫面要記得畫貼圖

    glPopMatrix();

main中:

    glutIdleFunc(display);    

    glEnable(GL_DEPTH_TEST);

結果:



6.利用MAYA切割模型

7.對特定旋轉軸轉動week11-TRT

結果:



程式碼:



沒有留言:

張貼留言

VERY BEAUTIFUL, VERY POWERFUL

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