OpenGL中设置光照的镜面反射效果
在上一篇笔记中,我们记述了光线的方向与多边形表面的角度计算关系,除此之外,我们还有光源的位置需要指定。我们在ChangeSize函数的内部指定光源的位置:
// 指定光源的位置
GLfloat lightPos[] = {-50.0f, 50.0f, 100.0f, 1.0f};
glLightfv(GL_LIGHT0, GL_POSITION, lightPos);
在此,lightPos数组包含了光源的坐标位置。这个数组的最后一个值是1.0,表示指定的坐标是光源的位置;如果这个数组的最后一个值是0.0,则表示光是从无限远处沿这个数组所指定的方向向量照射过来的。同样地,光就像几何物体一样,它们也可以根据模型视图矩阵进行移动。
接下来,我们设置光照的镜面亮点效果。
镜面亮点

在OpenGL中,通过设置光源位置、镜面光强度、材料的镜面反射属性和镜面指数,可以创建物体的镜面反射效果。镜面指数控制镜面加亮的大小范围和集中性,值越大,亮点越明显。
最低0.47元/天 解锁文章
309

被折叠的 条评论
为什么被折叠?



