2017年10月26日 星期四

7Hao-計算機圖學-Week07

1. 作業二展示、互評
2. 今日主題: Lighting打光、Shading光影  => 用mouse調光源

static void resize(int width, int height)  ///縮放視窗後圖形不會變形
{
    const float ar = (float) width / (float) height;

    glViewport(0, 0, width, height);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    glFrustum(-ar, ar, -1.0, 1.0, 2.0, 100.0);

    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity() ;
}


const GLfloat light_position[] = { 2.0f, 5.0f, 5.0f, 0.0f };
const 不能改變值 所以刪掉
GLfloat light_position[] = { 2.0f, 5.0f, 5.0f, 0.0f };  ///光源位置
void motion(int x, int y) ///用滑鼠控制光源
{
    light_position[0]=(x-150)/150.0 *2;
    light_position[1]=-(y-150)/150.0 *2;
    glLightfv(GL_LIGHT0, GL_POSITION, light_position);
    glutPostRedisplay();
}
int main()
{
    ....
    glutDisplayFunc(display);
    glutKeyboardFunc(key);
    glutIdleFunc(idle);
    glutMotionFunc(motion);
    ....
}

結果:


沒有留言:

張貼留言