專題製作
解決上周困難: 打光問題
=>打光重點:法向量
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中)
=>平行光與聚光燈差別?
=>平行光:在他的法向量中照射到的物體,其光亮程度都是一樣的 沒有隨遠近而變強變弱。
=>聚光燈:就是想像一個電燈在固定位置,所以其光強弱會與距離有關。
沒有留言:
張貼留言