OpenGL光照效果与材质设置
OpenGL 的光照效果真的是图形开发里绕不开的一块,尤其是想把 3D 画面搞得更真实点,离不开这套光照模型。它通过计算物体表面和光源的关系,能模拟出环境光、漫反射、镜面高光这些效果,画面立马有立体感,蛮有质感的。
光源的设置是重点,比如平行光、点光源、聚光灯都可以配,搭配好位置和颜色,整个场景的氛围就出来了。你只要用glLight()
配下参数就行,响应也快,效果也直观。
是材质属性这块,别小看了它。你可以设置物体的GL_AMBIENT
、GL_DIFFUSE
、GL_SPECULAR
这些属性,不同材质的反馈完全不一样,尤其镜面反射,调得好能做出那种金属质感。
光照模型一般用 Phong 模型就挺够用了,三大成分:环境光、漫反射、镜面高光。都能单独调,也能组合搭配,基础效果靠它就能撑起来。像素级渲染看着就舒服。
对了,法线向量关键,尤其建模的时候一定别忘了加。不然光照一算全错,光影完全不对劲。建模工具导出的时候一般都会带,也可以手动加。
启用光照只需要一个glEnable(GL_LIGHTING)
,开光源GL_LIGHT0
、GL_LIGHT1
这些,配置光源属性和材质属性就行了。整体逻辑比较清晰。
想加点真实感的话,纹理映射一定要上。OpenGL 的glTexImage2D()
、glTexCoord2f()
这些配合用下,能贴个砖墙皮肤、金属纹理什么的,配合光照那画面效果真的不一样。
如果你是在 VC6 上折腾,那记得 DLL 和 LIB 的配置也得搞清楚。opengl32.lib
、glu32.lib
这些库都得连上,要不然直接链接失败,程序跑不起来。
如果你刚开始学 OpenGL 光照,建议先搞清楚光源和材质的搭配逻辑,动手试试从点光源开始调。理解了 Phong 模型,做出来的场景会越来越好看。
430.48KB
文件大小:
评论区