2022年4月25日 星期一

黃昱瑋的筆記week10 轉吧轉吧七彩霓虹燈🌍🤖

1-1.裝freeglut(libglut32.a)、openCV2.1、File New Project GLUT專案,將上次專案程式碼放過來,
記得機檔案裝到(freeglut.bin裡)


1-2.在display()去掉茶壺加上 
glBegin(GL_POLYGON);
        glTexCoord2f(0,1);glVertex2f(-1,-1);
        glTexCoord2f(1,1);glVertex2f(+1,-1);
        glTexCoord2f(1,0);glVertex2f(+1,+1);
        glTexCoord2f(0,0);glVertex2f(-1,+1);
    glEnd();
2-1.開新專案,複製之前那份
加入四行程式碼
GLUquadric * sphere=NULL;//一個指到二次曲面的指標

gluQuadricTexture(sphere,1);
gluSphere(sphere,1,30,30);

sphere=gluNewQuadric();
2-2增加四行程式碼使球體對x軸旋轉90度
    glPushMatrix();
    glRotatef(90,1,0,0);

    glPopMatrix();

    glEnable(GL_DEPTH_TEST);

2-3
對球體旋轉

float angle=0;

glRotatef(angle,0,-1,0);

angle++;//轉太快可以自己調

glutIdleFunc(display);


3-1
鋼蛋旋轉
用剛才的 earth 進行複製
先增加兩行程式碼
#include "glm.h"記得glm.cpp要add file加入
GLMmodel * pmodel=NULL;


再增加一些程式碼
    glPushMatrix();
        glRotatef(angle,0,1,0);
        if(pmodel==NULL){
            pmodel=glmReadOBJ("data/Gundam.obj");
            glmUnitize(pmodel);
            glmFacetNormals(pmodel);
            glmVertexNormals(pmodel,90);
        }
        glmDraw(pmodel,GLM_MATERIAL|GLM_TEXTURE);
    glPopMatrix();

    myTexture("data/Diffuse.jpg");
    glEnable(GL_DEPTH_TEST);
做完後記得改data/Diffuse.jpg的 檔案使其圖片垂直反轉才能將正確貼圖貼上




沒有留言:

張貼留言