Qt5版NeHe OpenGL教程之六:光照和键盘控制

这篇博客介绍了如何在Qt5中使用OpenGL实现光照控制和键盘交互功能。通过lesson6.h、lesson6.cpp和main.cpp文件,实现了木箱的旋转、光源的开关以及滤波方式的切换。用户可以通过F键切换滤波模式,L键控制光源,PageUp/Down调整距离,上下左右箭头控制木箱绕轴旋转。
摘要由CSDN通过智能技术生成
在这一课里,我们将添加光照和键盘控制,它让程序看起来更美观。

现在设置4个变量来控制绕x轴和y轴旋转角度的步长,以及绕x轴和y轴的旋转速度。另外还创建了一个z变量来控制进入屏幕深处的距离。并添加一个布尔型变量light来控制光源的开和关。

bool light;              // 点击“L”键开关光源
GLfloat	xrot;		     // X 旋转
GLfloat	yrot;			// Y 旋转
GLfloat xspeed;			// X 旋转速度
GLfloat yspeed;			// Y 旋转速度
GLfloat	z=-5.0f;	   // 深入屏幕的距离
接着设置用来创建光源的数组。我们将使用两种不同的光。第一种称为环境光。环境光来自于四面八方。所有场景中的对象都处于环境光的照射中。第二种类型的光源叫做漫射光。漫射光由特定的光源产生,并在您的场景中的对象表面上产生反射。处于漫射光直接照射下的任何对象表面都变得很亮,而几乎未被照射到的区域就显得要暗一些。这样在我们所创建的木板箱的棱边上就会产生的很不错的阴影效果。
创建光源的过程和颜色的创建完全一致。前三个参数分别是RGB三色分量,最后一个是alpha通道参数。
因此,下面的代码我们得到的是半亮(0.5f)的白色环境光。如果没有环境光,未被漫射光照到的地方会变得十分黑暗。
GLfloat LightAmbient[]= { 0.5f, 0.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

草上爬

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

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

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

打赏作者

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

抵扣说明:

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

余额充值