求个JAVA格式的闪光灯手电筒软件,是控制LED闪光灯的不是屏显得! 只要JAR格式的!!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求个JAVA格式的闪光灯手电筒软件,是控制LED闪光灯的不是屏显得! 只要JAR格式的!!相关的知识,希望对你有一定的参考价值。
我的手机:苹果 iPhone 4
问题类型:系统辅助
openGL 聚光灯问题
【中文标题】openGL 聚光灯问题【英文标题】:openGL spotlight troubles 【发布时间】:2012-11-25 19:33:09 【问题描述】:好的,我正在尝试模拟手电筒的行为。目前我只是想让聚光灯出现在一个球体上。现在下面的代码可以工作了,但它只在GL_SPOT_CUTOFF
设置为 180 时才有效,这会产生均匀的光分布——这不是我想要的。如果我尝试将其设置为任何其他值,那么它就会停止工作。这是代码
GLfloat mat_specular[] = 1.0, 1.0, 1.0, 1.0 ;
GLfloat light_pos [4] = 5, 2, -10, 1.0;
glLightfv (GL_LIGHT0, GL_SPECULAR, mat_specular);
glLightfv (GL_LIGHT0, GL_POSITION, light_pos);
glLightf (GL_LIGHT0, GL_SPOT_CUTOFF, 20.0f);
glLightf (GL_LIGHT0, GL_SPOT_EXPONENT, 100.0);
GLfloat spotDir [] = 0.0, 0.0, 0.0;
glLightfv (GL_LIGHT0, GL_SPOT_DIRECTION, spotDir);
glutSolidSphere (2, 20, 20);
glFlush ();
glutSwapBuffers ();
我已启用照明并完成了所有初始化工作。所有的表面法线都是从 glutSolidSphere 计算出来的,所以不知道还有什么可能会失败......有什么想法吗?
【问题讨论】:
【参考方案1】:问题是你的spotDir
。它是一个向量,而不是世界坐标中的一个点。
尝试将其更改为:
GLfloat spotDir[] = -5, -2, 10 ;
我很懒,所以我不会对这个向量进行归一化;D
这会将您的聚光灯指向球体中心。
希望对你有帮助!
【讨论】:
以上是关于求个JAVA格式的闪光灯手电筒软件,是控制LED闪光灯的不是屏显得! 只要JAR格式的!!的主要内容,如果未能解决你的问题,请参考以下文章