シェーディング

shading.png

シェーディングとは?

描画する物体に陰影を施すこと。
より、コンピュータグラフィックス的に言えば
光源によって照らされた、物体の面の明るさや色(RGB値)を求めること。
光の当たり具合によって濃淡が変化する部分の明るさを計算して表示すること。

OpenGLサンプル

void InitLights(){
    glEnable(GL_DEPTH_TEST);
    //glMap2f(GL_MAP2_VERTEX_3, 0, 1, 3, 4,0, 1, 12, 4, &model.verts[0].x);
    //glEnable(GL_MAP2_VERTEX_3);
    glEnable(GL_AUTO_NORMAL);
    //glMapGrid2f(20, 0.0, 1.0, 20, 0.0, 1.0);
 
    GLfloat ambient[]={0.2,0.2,0.2,1.0};
    GLfloat position[]={0.0,0.0,2.0,1.0};
    GLfloat mat_diffuse[]={0.6,0.6,0.6,1.0};
    GLfloat mat_specular[]={1.0,1.0,1.0,1.0};
    GLfloat mat_shiness[]={50.0};
    glEnable(GL_LIGHTING);
    glEnable(GL_LIGHT0);
    glLightfv(GL_LIGHT0,GL_AMBIENT,ambient);
    glLightfv(GL_LIGHT0,GL_POSITION,position);
    glMaterialfv(GL_FRONT,GL_DIFFUSE,mat_diffuse);
    glMaterialfv(GL_FRONT,GL_SPECULAR,mat_specular);
    glMaterialfv(GL_FRONT,GL_SHININESS,mat_shiness);
}
Bibliography

サポートサイト Wikidot.com