计算机图形学——OpenGL之光照

本文深入探讨了OpenGL中的光照系统,包括光源、材质的设置以及光照模型。讲解了光源的属性如GL_AMBIENT、GL_DIFFUSE和GL_SPECULAR,材质属性GL_AMBIENT、GL_DIFFUSE、GL_SPECULAR和GL_SHININESS的含义及作用。此外,还介绍了全局环境光线和观察点位置的影响,以及如何开启和关闭光照处理功能。
摘要由CSDN通过智能技术生成

计算机图形学——OpenGL之光照

1、光照系统

       光照系统可以分为三部分:

  • 光源就是光的来源,可以是太阳或者电灯等。
  • 材质是指接受光照的各种物体的表面,由于物体如何反射光线只由物体表面决定(OpenGL中没有考虑光的折射),材质特点就决定了物体反射光线的特点。

  • 光照环境是指一些额外的参数,它们将影响最终的光照画面,比如一些光线经过多次反射后,已经无法分清它究竟是由哪个光源发出,这时,指定一个“环境亮度”参数,可以使最后形成的画面更接近于真实情况。

       相关概念:

  • 镜面反射:光线入射理想的光滑平面,反射后的光线是很规则的
  • 漫反射:光线入射粗糙的、不光滑的平面,反射后的光线是杂乱的

2、设置光源

          在OpenGL中,仅仅支持有限数量的光源。 使用GL_LIGHT0表示第0号光源,GL_LIGHT1表示第1号光源,依次类推。 OpenGL至多会支持8个光源,即GL_LIGHT0到GL_LIGHT7。 使用glEnable函数可以开启它们。例如,glEnable(GL_LIGHT0);可以开启第0号光源。 使用glDisable函数则可以关闭光源。

          每一个光源都可以设置其属性,这一动作是通过glLight*函数完成的。glLight*函数具有三个参数,第一个参数指明是设置哪一个光源的属性,第二个参数指明是设置该光源的哪一个属性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小黄鸭and小黑鸭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值