admin 管理员组文章数量: 1087678
绘制聚光灯
简述:
在之前的场地上绘制聚光灯
函数:
1)glEnable(GL_LIGHTING);
开启光照
2)glLightfv函数
void WINAPI glLightfv(GLenum light,GLenum pname,const GLfloat *params
);
定义光束,
由几个参数构成
第二个参数pname是包括以下几个默认参数设置:
GL_AMBIENT 环境光 默认是数组(0.0, 0.0, 0.0, 1.0)
GL_DIFFUSE 散射光 默认是数组 (0.0, 0.0, 0.0, 1.0)
GL_SPECULAR 反射光 默认是数组 (0.0, 0.0, 0.0, 1.0)
GL_POSITION 光源位置
GL_SPOT_DIRECTION 光束的方向
代码:
//LIGHT0
GLfloat spotlight0Position[]={20.0f,8.0f,12.0f,1.0f}; //聚光灯位置
GLfloat spotlight0Direction[]={2.8f,-1.0f,1.4f}; //聚光灯方向
GLfloat ambientLight[]={0.5f,0.5f,0.5f,1.0f}; //环境光
GLfloat diffuseLight[]={0.5f,0.5f,0.5f,1.0f}; //散射光//现在开始调协LIGHT0
glLightfv(GL_LIGHT0,GL_AMBIENT,ambientLight); //设置环境光分量
glLightfv(GL_LIGHT0,GL_DIFFUSE,diffuseLight); //设置散射光分量
glLightfv(GL_LIGHT0,GL_POSITION,spotlight0Position); //设置光源在场景中的位置
//聚光灯属性
glLightf(GL_LIGHT0,GL_SPOT_CUTOFF,90.0f); //光柱张角80度
glLightf(GL_LIGHT0,GL_SPOT_EXPONENT,30.0f); //聚光灯指数
glLightfv(GL_LIGHT0,GL_SPOT_DIRECTION,spotlight0Direction); //聚光灯方向//启用聚光灯0
glEnable(GL_LIGHT0);
本文标签: 绘制聚光灯
版权声明:本文标题:绘制聚光灯 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1687418334a100349.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论