2021年4月26日 星期一

吉親摳ㄎㄎ-Week10

電腦圖學 

WEEK10
今天是久違的上課天,過得太爽,不知道在上什麼了哈哈哈!那今天的第一個任務就是運用聲音,
先打開GLUT專案並把程式碼放入,記得聲音要用wav檔,聲音我放在雲端資料夾裡,音檔也要放在bin資料夾中喔~!!

程式碼:

#include <windows.h>

int main(){

    PlaySound("pig.wav",NULL,SND_SYNC);

}

第二步,按數字再enter鍵,就會發出聲音

程式碼:
#include <windows.h>
#include <stdio.h> ///for getchar()
int main(){
    char c;
    while(1){
        c=getchar();
        PlaySound("do.wav",NULL,SND_ASYNC);
        ///SND_SYNC是等待同步,會播完再繼續
        ///SND_ASYNC是不等待同步,馬上下一行
    }
}


接著放入鋼琴的五個音

程式碼:

#include <windows.h>
#include <stdio.h> ///for getchar()
int main(){
    char c;
    while(1){
        c=getchar();
        if(c=='1') PlaySound("do.wav",NULL,SND_ASYNC);
        if(c=='2') PlaySound("re.wav",NULL,SND_ASYNC);
        if(c=='3') PlaySound("mi.wav",NULL,SND_ASYNC);
        if(c=='4') PlaySound("fa.wav",NULL,SND_ASYNC);
        if(c=='5') PlaySound("so.wav",NULL,SND_ASYNC);
    }
}

接下來把前幾周教的結合這次的聲音

程式碼:

放入shot

程式碼:

#include <windows.h>
#include <GL/glut.h>
void display()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glutSolidTeapot(0.3);
    glutSwapBuffers();
}
void keyboard(unsigned char key,int x,int y)
{
    if(key=='1') PlaySound("do.wav",NULL,SND_ASYNC);
    if(key=='2') PlaySound("re.wav",NULL,SND_ASYNC);
    if(key=='3') PlaySound("mi.wav",NULL,SND_ASYNC);
    if(key=='4') PlaySound("fa.wav",NULL,SND_ASYNC);
    if(key=='5') PlaySound("so.wav",NULL,SND_ASYNC);
}
void mouse(int button ,int state,int x,int y)
{
    if(state==GLUT_DOWN)PlaySound("shot.wav",NULL,SND_ASYNC);
}
int main(int argc,char**argv)
{
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("week10 sound");

    glutDisplayFunc(display);
    glutMouseFunc(mouse);
    glutKeyboardFunc(keyboard);
    glutMainLoop();
}

把背景音樂放入,把music.mp3放入bin,再把CMP3_MCI.h放入week10的資料夾

程式碼:

接著我們要來學習打光,依樣把GLUT的範本抓下來用,就會變成立體的茶壺
程式碼:







沒有留言:

張貼留言

Week18期末作業(橘貓的跳舞熊熊)

 期末作業(橘貓的跳舞熊熊) 影片: https://youtu.be/R89tptMaQZw 程式碼: #include <opencv/highgui.h> #include <opencv/cv.h> #include <GL/glut.h...