2021年5月19日 星期三

築損 Week13

 第1部份

打開codeblocks 

安裝freeglut

安裝opencv

到codeblocks setting/compiler 設定

compiler C:/OpenCV2.1/include

linker C;/OpenCV2.1/lib

linker setting cv210 cxcore210 highgui210

到https://hackmd.io/@jsyeh/opengl複製主程式

貼到codeblocks新增的專案中

到Teams 下載bg.jpg Diffuse.jpg

將puipui.jpg改成Diffuse.jpg

將freeglut/bin中的freeglut.dll bg.jpg Diffuse.jpg複製貼到專案目錄裡

把Week13.cbp用notepad++打開把執行目錄改成"."

codeblocks 會reload 選擇yes

執行結果一樣

moodle下載source.zip

把souce.zip中 glm.c, glm.h, transformation.c 複製貼到專案目錄裡

moodle 下載gumdam還沒切開 

把gumdam還沒切開中 Gundam.mtl, Gundam.mtl, Diffuse.jpg 複製貼到專案目錄裡

將gim.cpp匯入專案

transformation.c用notepad++打開

複製

#include "glm.h"

GLMmodel* pmodel = NULL;

void drawmodel(void)

{

    if (!pmodel) {

pmodel = glmReadOBJ("Gundam.obj");

if (!pmodel) exit(0);

glmUnitize(pmodel);

glmFacetNormals(pmodel);

glmVertexNormals(pmodel, 90.0);

    }


    glmDraw(pmodel, GLM_SMOOTH | GLM_MATERIAL);

}

貼到main.cpp中

把GLM_MATERIAL蓋成GLM_TEXTURE

把茶壺註解掉

換成drawmodel();

執行後圖案會上下顛倒

回到專案目錄中把Diffuse.jpg用小畫家上下翻轉存檔

再執行就會是背對的Gundam

加上旋轉的程式碼

angle設定成180

glPushMatrix();

        glRotatef(angle,0,1,0);

        drawmodel();///glutSolidTeapot(0.3);S

glPopMatrix();

Gundam就會轉成正面

執行結果
















-----------------------------------------------------------------------------------------------------------------------------

第0部份


執行結果


-----------------------------------------------------------------------------------------------------------------------------

沒有留言:

張貼留言

距地表面160 Week11

 #include "glm.h" GLMmodel* pmodel = NULL; void drawmodel(void) {     if (!pmodel) { pmodel = glmReadOBJ("data/porsche.obj...