问题标签 [light]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
opengl - 阻止光线获取顶点变换
我正在尝试构建一个场景,其中有一个透视纹理的立方体和一盏灯。
应该发生的是,光应该停留在立方体上方的某个地方,而立方体在该光下方旋转(相对于其中心)。
实际发生的是,当立方体旋转时,灯光也会旋转。
我试过用谷歌搜索这个并寻找类似的 SO 问题,但我发现没有任何帮助。遵循 OpenGL 文档,我了解到灯光位置受模型视图矩阵变换的影响,但我也理解在所述变换之前/之后推动/弹出矩阵会使灯光不再受它们的影响。但是我无法让它工作,无论我是否将模型视图转换(对于立方体)隔离为推送/弹出,或者我之后加载单位矩阵,灯光都会继续旋转。
这是代码(它在 Java 中使用 JOGL):
这是正在发生的事情:
android - 如何在安卓设备上查看屏幕状态?
有没有办法在没有广播接收器的情况下找出 android 设备屏幕是否打开?我想通过警报管理器调用的服务在设备上进行分钟间隔更新。我也想保持电池寿命。因此,如果设备屏幕打开,更新服务将运行。
我找到了解决此代码问题的方法:
opengl - OpenGL 灯光变化:环境到漫反射或镜面反射有效,但不是相反
我在 OpenGL 中遇到了灯光问题:
我用这段代码改变了我的球灯:
我可以从 Ambient 更改为漫反射或镜面反射。但是一旦我改变了,我就不能回到环境,更糟糕的是:要回到漫反射,我需要调用环境。
而且我不认为它来自这段代码:
知道我的问题来自哪里吗?
opengl - glMaterialfv 在特定区域内
我使用 opengl 来产生火焰(带有粒子)。有了这个火,我想创造一种“光效”。
我用了这个功能 glMaterialfv(GL_FRONT_AND_BACK, GL_EMISSION, emission);
听起来不错,但问题是这个功能照亮了所有场景。
我想要一个特定区域的发射。我怎样才能做到这一点 ?
android - android将自定义背景颜色设置为Theme.Holo.Light主题应用程序的window标题
我正在尝试使用以下 xml 将自定义背景颜色设置为 Theme.Holo.Light 应用程序的标题。但它不起作用。
Theme.Holo.Light 以某种方式覆盖@style/WindowTitleBackground
如果我将父级设置为 android:Theme,它工作正常。我想拥有 Halo.Light 主题,但背景不同。我已经看过自定义背景布局示例,但在我学习的过程中,我不想深入讨论。
任何帮助表示赞赏。谢谢
android - OpenGL-ES 中的材质影响其他纹理
我在使用适用于 android 的 OpenGL-ES (1.0) 时遇到了一个问题,我无法理解。我有多个通过 OpenGL-ES 显示的 3D 对象,我决定使用以下方法提供一些材料:
gl.glMaterialfv(GL10.GL_FRONT_AND_BACK, GL10.GL_... , ... , 0);
对于我正在绘制的每个对象,我都会这样做:
其中“环境”、“漫反射”和“镜面反射”对每个对象都是唯一的。
结果是,如果我在一种材质中使用更多的红色环境光,这将影响另一个可见物体也显示出一点点红色。
如下所示,左侧三分之二的对象被设置为在其材质中获得更多的红色环境。右边的材料不应该发光,因为它的材料没有发光,但它仍然发光。(图片显然有点修改,使其更清晰)。
我使用的每个对象都有一个自己的材质类,其中包含有关其材质的信息。
任何关于我错过的东西的想法,或者这就是材料在 OpenGL 中的实际工作方式?
(我使用定向光在一个方向照亮整个场景)
编辑:为了使这一点更清楚,影响其他对象的不仅仅是环境颜色,例如,如果一个对象的材质在环境、镜面反射和漫反射中接收到所有颜色的 0.2 接近另一个具有更高值的对象,例如镜面反射,第一个物体也会变得更加明亮。
编辑2:
这是绘制所有对象的功能
在对象类中绘制时发生的情况如下
调整(gl,objects.get(k));导致跟随
并且在哪里obj.getMaterial().enable(gl); 将是对象的材料。以下是我的材料课
环境、漫反射、镜面反射和光泽的变量设置如下
android - 如何在android更改后立即从光传感器获取传感器数据?
好吧,我已经成功地获得了光值,但是,它被极大地延迟了。即使使用 .SENSOR_DELAYED_FASTEST 也大约 3~5 秒,即使输入 0 作为速率也是如此。它太慢了。我让程序检查屏幕上的光传感器值,然后相应地改变亮度,希望它能解决可怕的自动亮度延迟。但是在搞砸之后,在我看来这只是android中的一个缺陷。它根本无法足够快地更新。我使用了 getDefaultSensor() 但根据 android 文档,这个值可以被延迟/过滤,但是在阅读 stackoverflow 上的另一篇文章后,getSensorList() 和 getDefaultSensor() 返回相同的值,并且 getSensorList() 与 getDefaultSensor() 没有什么不同
我的问题的原因是:这是正确的吗?android只是在立即更新方面失败了吗?这很有趣,因为我的 Windows MOBILE(不是手机)可以立即更新,我喜欢它。但是对于所有 android 设备,我都看到了同样的事情。那么这只是androids编程中的一个缺陷吗?作为应用程序开发人员,我有办法解决这个问题吗?还是我们必须忍受它?
ios - 最轻的 UI 元素
当我设置的只是背景颜色或图像时,我试图找出在降低应用程序性能方面最不重要的 UI 元素。我不需要元素的任何用户交互。我只需要元素的内容显示在屏幕上。
从我目前了解到的情况来看,CALayers 非常轻巧,我使用起来很舒服,但它们是我可以用于简单显示用例的最轻量级 UI 元素吗?
谢谢!
actionscript-3 - 如何在 away3d 4.0 Beta 中使用多类灯光?
我从awayd3D开始,在4.0beta版本上没有找到解决方案,我可以向你求助。
我在互联网上做了很多研究,希望找到关于灯光使用的解释,但很少有与每个版本 3 相关的解释。
我意识到这个场景(http://goupix.com/test/)。您可以使用 WASD 键或箭头键来移动。
为了实现这个场景,我有几个文件: Exploration.as:创建场景、相机和灯光。光:
ClassGeneratemap.as:使用为我的装饰生成的表 ClassGenerateobjet.as:由 ClassGeneratemap 调用并将元素放置在场景中
我真的不知道如何使用我放置的灯。我不知道这是否确实是一种正确的光。
我希望你能帮助我。谢谢
c++ - 2D照明 - 使光线不穿过墙壁
我有一张碰撞图,还有一些我想成为光源的地方。光源提供的光实际上是我可以看到地面的形状。现在看起来像这样:
所以光线穿过墙壁。我想让它看起来像这样:
(我用深黄色标记了与墙壁的碰撞)
所以光线在遇到墙壁时会停止。我想获得正确光线的形状,最好是包含它的位图)
我的第一个想法是从光源投射光线并检查它们何时与墙壁碰撞(我知道如何做到这一点),但是我需要每隔 0.001 度投射光线,因此生成灯光的时间太长了。其次是光的形状并不总是圆形,有时它可以是椭圆或半椭圆,甚至是三角形或圆形的一部分。通常,我的位图的光线不会碰撞任何东西,我想将其减去一点以使其看起来像第二张图像。
最后一件事,我使用的是 allegro 4.2.1,但前面提到的所有位图都是带有 0 和 1 的二维数组。
感谢您的帮助,对不起,很长的问题和我的英语不好。