2022年2月21日 星期一

09160074 Week01

●建立OpenGL專案
        


講義:https://jsyeh.org/3dcg10/

        1.File→New→Project下滑至OpenGL project   
       
         2.project title輸入week01-1_OpenGL

        3.目錄:桌面
       4.齒輪+綠三角(Build&Run)

●水會動

●建立GLUT專案 

            1.moodle下載freeglut                

        2.解壓縮到桌面
          







         

         3.複製libfreegult檔案,改檔名 lib\libglut32.a 

  4.File-New-Project,GLUT專案   

     

   5.project title:week01-3_GULT,目標:桌面
   6.GLUT資料夾在桌面的freeglut


●從Github下載倉庫
              1.從moodle下載Git-2.30.1-64-bit.exe,開啟安裝程式一直按下一步即可             
           
              2.開啟Git Bash,先輸入cd desktop,輸入git clone 我的github網址



●下載Win 32 Example
            1. 輸入https://https://jsyeh.org/3dcg10/windows.zip → 下載\windows\shape.exe
 
       2.開啟shape.exe後按滑鼠右鍵可以調整成用點、線、面顯示,且可調整點的顏色與位置
            











●用GLUT畫出黃色實心茶壺
     1.先安裝GULT外掛,安裝過程在上面有寫到,安裝好就可以執行

   2.開啟之前的兩個檔案,再見一個新的GLUT專案,title輸入week03_color,並把cpp裡面的程式碼刪除         
            
   
   3.在空白處輸入下圖函式,執行後會出現黃色實心茶壺
           









●用GLUT畫出彩色三角形
   1.開一個新GLUT專案,把剛才黃色實心茶壺的程式複製過來








2.把glutSolidTeapot刪除,新增glBegin和 glEnd














●下載3/14上課範例
 1.下載data以及windows壓縮檔















 2.將windows壓縮檔解壓縮,再將data檔案夾拖到windows的子目錄















Translater紅色茶壺
 1.利用push備份矩陣,pop還原矩陣,push跟pop同時用就不會一直偷偷動,因為移動會累積

用函式簡化程式
 1.建立一個myTeapot函式,把push跟pop丟到myTeapot函式















2.display函式只留下glClrea、glColor3f、glutSwapBuffers,並把myTeapot函式匯入display函式















滑鼠事件
 1.display函式中只留下glClear和glutSwapBuffers,並建立一個新的mouse函式















2.新增#include <stdio.h>,因為要使用printf,在新增的mouse函式中使用printf函式,並且記得下面main函示要新增glutMouseFunc(mouse)















結合茶壺&滑鼠事件
 1.接續茶壺的程式碼,並宣告mouseX&mouseY,再建立mouse函式,讓mouseX的值=x,mouseY的值=y















 2.在 glTranslatef進行mouseX以及mouseY的運算,口訣:減一半除一半














●利用程式碼畫圖
        1.宣告N、mx[100]、my[100],刪除push&pop,新增glBegin&glEnd,並在glBegin下新增一個for迴圈











        2.下面mouse函式新增if(state==GLUT_DOWN),上面glVertex2f畫圖,下面printf在小黑視窗顯示程式碼


沒有留言:

張貼留言