2018年1月13日 星期六

圖學筆記乄Week17

專題製作



解決上周困難: 打光問題




=>打光重點:法向量
                                                     x        y        z        w
GLfloat light_position1[] = {-10.0f, -40.0f, 15.0f, 1.0f };

1.當w為0 是平行光  而xyz值就是此平行光法向量值。
2.若w為1,此光為聚光燈,xyz為燈源位置。
此時,要在一個程式碼:const GLfloat lightDirection[] = {0.0, 0.0, 1.0}; 
上述藍色程式碼是定義其聚光燈方向向量。

glLightfv(GL_LIGHT0, GL_SPOT_DIRECTION, lightDirection);// 聚光灯主轴方向 spot direction
glLightf(GL_LIGHT0, GL_SPOT_CUTOFF, 0.0);
聚光燈需配合此兩行(寫在main中)

=>平行光與聚光燈差別?

=>平行光:在他的法向量中照射到的物體,其光亮程度都是一樣的 沒有隨遠近而變強變弱。

=>聚光燈:就是想像一個電燈在固定位置,所以其光強弱會與距離有關。

沒有留言:

張貼留言