OpenGL光源、材质和光照模型

本文介绍了OpenGL处理光照的三个关键要素:光源、材质和光照模型。详细讲解了光源的3+1属性,包括GL_AMBIENT、GL_DIFFUSE、GL_SPECULAR和光源位置,以及光源个数的注意事项。材质方面,除了GL_AMBIENT、GL_DIFFUSE、GL_SPECULAR,还有GL_SHININESS和GL_EMISSION属性。文章强调了材质颜色与光源颜色的区别,并概述了光照模型的组成部分。最后提醒在使用光照时要先开启光照再开启灯光。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

好久没写博客了,从现在开始,养成一个好的习惯,不断的进行总结。

以前都是直接用,效果好就行,不管是具体怎么设置的。现在突然想想什么都学不到,于是就自己动手调试了一番,做了一下总结:

OpenGL在处理光照的过程中主要包含三项内容,光源、材质和光照模型。也就是我们在光照设置的代码中常看到的glLightfv、glMaterialfv和glLightModelfv。其中要注意的是,GL_AMBIENT(环境光)、GL_DIFFUSE(漫反射光)、GL_SPECULAR(镜面反射)这三种属性是光源和材质所共有的。光源和材质的相同属性共同影响,并作用最终的显示效果。

1.光源

光源的设置按照3+1的原则来进行设置,3代表的是GL_AMBIENT、GL_DIFFUSE和GL_SPECULAR这三种属性,1代表的是光源的位置。光源的位置中又包含了两种模 式,一种是位置性光源,一种是方向性光源。具体的可参考OpenGL的API。

在这里不得不提的在整个环境中的光源个数问题。GL_LIGHT0代表第0号光源,依次类推。注意GL_LIGHT0与其他光源的默认属性是有区别的。GL_LIGHT0

GL_DIFFUSE,GL_SPECULAR的默认值是(1.0,1.0,1.0,1.0),而其他光源的默认值是(0.0,0.0,0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值