2019年3月22日 星期五

瑋的日常筆記week05

今天做打光練習
<http://www.cmlab.csie.ntu.edu.tw/~jsyeh/3dcg10/>
去此網址載取
window.zip
glut.32
data.zip
做上次的步驟














叫出這個然後
在左上的圖片按右鍵可以轉動及換屬性!!
在左下得圖片按右鍵可以換顏色!!

上面是kakdks的概念
下面是今天所做的題目?將茶壺變成立體的

複製了兩大段的程式碼
1.
const GLfloat light_ambient[]  = { 0.0f, 0.0f, 0.0f, 1.0f };
const GLfloat light_diffuse[]  = { 1.0f, 1.0f, 0.8f, 1.0f };
const GLfloat light_specular[] = { 0.8f, 1.0f, 0.8f, 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 };

2.
    glClearColor(1,1,1,1);
    glEnable(GL_CULL_FACE);
    glCullFace(GL_BACK);

    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();
上面這兩個
程式碼這樣放

http://pythontutor.com/c.html#mode=edit
這是C的家教
可以再次去練習C語言的打法
下面是會自動選轉的茶壺

增加了這些程式碼

沒有留言:

張貼留言