OpenGL-glLight

函数原型:

      void glLightf(GLenum light,GLenum pname,GLfloat param)
      void glLighti(GLenum light,GLenum pname,GLint param)

参数说明:

  • light:指定光照。光照的数目取决于实现,但至少可以支持8个光照。分别为GL_LIGHT1到GL_LIGHT8
  • pname:指定light的光照参数。可以选择的值有GL_AMBIENTGL_DIFFUSEGL_SPECULARGL_POSITION,GL_SPOT_DIRECTIONGL_SPOT_EXPONENTGL_SPOT_CUTOFFGL_CONSTANT_ATTENUATION,GL_LINEAR_ATTENUATION, and GL_QUADRATIC_ATTENUATION
  • param:指定光源light的设置值指针

函数说明:

      该函数设置单个光源的参数值.

  • GL_AMBIENT:指定环境光。
  • GL_DIFFUSE:指定漫射光。
  • GL_SPECULAR:指定镜面光。
  • GL_POSITION:指定光源位置。
  • GL_SPOT_DIRECTION:指定光照方向。
  • GL_SPOT_EXPONENT:指定聚焦光源指数。
  • GL_SPOT_CUTOFF:指定光源的最大散布角。
  • GL_CONSTANT_ATTENUATION,GL_LINEAR_ATTENUATIONGL_QUADRATIC_ATTENUATION :指定三个光照衰减因子。

注意:

     只对光源进行设置、定位、甚至启用,光源都不会工作。除非我们启用GL_LIGHTING。

 

     LightAmbient: array[0..3] of GLfloat = (0.5, 0.5, 0.5, 1.0); // 环境光参数

     LightDiffuse: array[0..3] of GLfloat = (1.0, 1.0, 1.0, 1.0); // 漫射光参数

     LightPosition: array[0..3] of GLfloat = (0.0, 0.0, 2.0, 1.0); //光源位置参数


     glLightfv(GL_LIGHT1, GL_AMBIENT, @LightAmbient); // 设置环境光

     glLightfv(GL_LIGHT1, GL_DIFFUSE, @LightDiffuse); // 设置漫射光

     glLightfv(GL_LIGHT1, GL_POSITION,@LightPosition); // 设置光源位置     

 

     glEnable(GL_LIGHT1); // 启用一号光源     glEnable(GL_LIGHTING); // 启用光源
  

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值