2024年3月28日 星期四

( ´•̥̥̥ω•̥̥̥` )電腦圖學week06(ゝ∀・)b

  1.期中相關:(老師架設的網站)https://jsyeh.org/gl/


  2.期中相關考題的練習與解答

  

  3(宣告變數、函式) #今天要用到的程式碼,分別是8、12+2行

'''cpp

.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 };

'''

'''cpp

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);

'''

  4.打開一個新專案,名稱叫:week06_lighting;先貼上原本第一周的11行程式碼,之後再貼上剛剛找到的共22行程式碼(期分別是:8行的是打光相關,12+2行則是3D模型相關)

執行結果發現茶壺因背光而看起來暗沉

  5.了解光線的變化改變物體的顏色


  6.將原本的專案再開一個新的,然後貼上原本的程式碼,並在新增些程式碼,讓茶壺能旋轉,炳在特定位置時背景會打光


  7.後續步驟

  8.之後再進行程式碼的新增與修改,新增的部分藉由Notepatru將transformation.c的部分程式碼複製並貼到week06-3的專案裡

  9.執行成果


  10.

沒有留言:

張貼留言