2024年4月15日 星期一

WEEK09

 week09

##作業1

  • 先安裝freeglut
  • 將上週程式clone下來
  • 安裝GIT
  • 確認環境沒問題
  • 安裝OpenCV第三步選add path
  • Codeblock->Setting->Compiler->Search directories裡 Compiler 加 C:\OpenCV2.1\include
     Linker加C:\OpenCV2.1\lib
     LinkerSetting加cxcore210、cv210、highgui210
  • 將上次的鋼彈抓下來複製一份改名為week09-1_obj_gundam_opencv_texture_lighting
  • 將打光8行陣列貼int main()前:

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 };
將打光函式貼到main()後12+2:
    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);
  • glutIdleFunc(display);//讓它旋轉
  • const GLfloat light_position[] = { 2.0f, 5.0f, -5.0f, 0.0f };->const GLfloat light_position[] = { 2.0f, 5.0f, 5.0f, 0.0f };//讓他打光更好看

##作業2
  • 劃出三個形狀
  • 將初始10行打上
  • void display加上(EX):
  • glPushMatrix();
  •         glTranslatef(-0.6, +0.3, 0);//座標
  •         glutSolidTeapot(0.3);//形狀
  •     glPopMatrix();
##作業3
Solid->Wire


glTranslatef(-0.6, +0.3, 0); +0.3->-0.3//座標

沒有留言:

張貼留言