2021年5月10日 星期一

𝔍𝔒𝔗𝔇-week12

 

電腦圖學_week12

2021/05/10(一)

       今日的上課內容:
  1. 改檔名為libglut32.a
  2. 下載檔案
  3. 放入檔案
  4. 下載及開啟3D-Exploring
  5. 下載gundam.auto.cpp(SampleApp格式)(圖1~圖4)
  6. gundam.auto.cpp加入week12資料夾中,並把main.c移除(圖5~圖6)
  7. 執行目錄疑難排解(記得.bmp要放在同目錄)(圖7)
  8. 新增兩行定義缺少的程式碼(圖8)
  9. 複習上週打光(圖9)
  10. 在compiler新增目錄
  11. 改專案的工作執行目錄(增加freeglut/bin裡面的freeglut.dll)(圖10)
  12. 貼圖程式碼放入還有圖片(diffuse.jpg)也加入專案目錄
        今日程式碼:
       <鋼彈轉檔程式碼>

       ///上周打光複習
  • #include <GL/glut.h>
  • #include <stdio.h>

  • void display()
  • {
  •     glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
  •     glutSolidTeapot(0.3);
  •     glutSwapBuffers();
  • }

  • const GLfloat light_ambient[]  = { 0.0f, 0.0f, 0.0f, 1.0f };
  • const GLfloat light_diffuse[]  = { 1.0f, 1.0f, 1.0f, 1.0f };
  • const GLfloat light_specular[] = { 1.0f, 1.0f, 1.0f, 1.0f };
  • const GLfloat light_position[] = { 2.0f, 5.0f, 5.0f, 0.0f };

  • const GLfloat mat_ambient[]    = { 0.7f, 0.7f, 0.7f, 1.0f };
  • const GLfloat mat_diffuse[]    = { 0.8f, 0.8f, 0.8f, 1.0f };
  • const GLfloat mat_specular[]   = { 1.0f, 1.0f, 1.0f, 1.0f };
  • const GLfloat high_shininess[] = { 100.0f };

  • int main(int argc, char ** argv)
  • {
  •     glutInit(&argc, argv);
  •     glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
  •     glutCreateWindow("week12 all in");

  •     glutDisplayFunc( display );

  •     glEnable(GL_DEPTH_TEST);
  •     glDepthFunc(GL_LESS);

  •     glEnable(GL_LIGHT0);
  •     glEnable(GL_NORMALIZE);
  •     glEnable(GL_COLOR_MATERIAL);
  •     glEnable(GL_LIGHTING);

  •     glLightfv(GL_LIGHT0, GL_AMBIENT,  light_ambient);
  •     glLightfv(GL_LIGHT0, GL_DIFFUSE,  light_diffuse);
  •     glLightfv(GL_LIGHT0, GL_SPECULAR, light_specular);
  •     glLightfv(GL_LIGHT0, GL_POSITION, light_position);

  •     glMaterialfv(GL_FRONT, GL_AMBIENT,   mat_ambient);
  •     glMaterialfv(GL_FRONT, GL_DIFFUSE,   mat_diffuse);
  •     glMaterialfv(GL_FRONT, GL_SPECULAR,  mat_specular);
  •     glMaterialfv(GL_FRONT, GL_SHININESS, high_shininess);
  •     glutMainLoop();
  • }

        今日成果:
        
⬆️儲存模型(圖1)

⬆️儲存為.cpp檔(圖2)


⬆️Sample格式(圖3)


⬆️桌面會有這兩個檔案(圖4)

⬆️加入week12資料夾中(圖5)


⬆️把codeblocks裡面main.c移除,加入gundam_auto.cpp檔(圖6)
⬆️開啟notepad++更改執行目錄即可解決貼貼圖在同目錄無法顯示的問題(圖7)
⬆️ 新增的兩行程式碼(圖8)
⬆️ 複習上週打光(圖9)
⬆️移動檔案確定下面目錄相同(圖10)
⬆️把圖片放入專案目錄再加入函式(圖11)






沒有留言:

張貼留言

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

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