问题标签 [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.

0 投票
2 回答
569 浏览

opengl - 阻止光线获取顶点变换

我正在尝试构建一个场景,其中有一个透视纹理的立方体和一盏灯。

应该发生的是,光应该停留在立方体上方的某个地方,而立方体在该光下方旋转(相对于其中心)。

实际发生的是,当立方体旋转时,灯光也会旋转。

我试过用谷歌搜索这个并寻找类似的 SO 问题,但我发现没有任何帮助。遵循 OpenGL 文档,我了解到灯光位置受模型视图矩阵变换的影响,但我也理解在所述变换之前/之后推动/弹出矩阵会使灯光不再受它们的影响。但是我无法让它工作,无论我是否将模型视图转换(对于立方体)隔离为推送/弹出,或者我之后加载单位矩阵,灯光都会继续旋转。

这是代码(它在 Java 中使用 JOGL):

这是正在发生的事情:

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

0 投票
1 回答
4511 浏览

android - 如何在安卓设备上查看屏幕状态?

有没有办法在没有广播接收器的情况下找出 android 设备屏幕是否打开?我想通过警报管理器调用的服务在设备上进行分钟间隔更新。我也想保持电池寿命。因此,如果设备屏幕打开,更新服务将运行。

我找到了解决此代码问题的方法:

0 投票
2 回答
3502 浏览

opengl - OpenGL 灯光变化:环境到漫反射或镜面反射有效,但不是相反

我在 OpenGL 中遇到了灯光问题:

我用这段代码改变了我的球灯:

我可以从 Ambient 更改为漫反射或镜面反射。但是一旦我改变了,我就不能回到环境,更糟糕的是:要回到漫反射,我需要调用环境。

而且我不认为它来自这段代码:

知道我的问题来自哪里吗?

0 投票
1 回答
1238 浏览

opengl - glMaterialfv 在特定区域内

我使用 opengl 来产生火焰(带有粒子)。有了这个火,我想创造一种“光效”。

我用了这个功能 glMaterialfv(GL_FRONT_AND_BACK, GL_EMISSION, emission); 听起来不错,但问题是这个功能照亮了所有场景。

我想要一个特定区域的发射。我怎样才能做到这一点 ?

0 投票
2 回答
949 浏览

android - android将自定义背景颜色设置为Theme.Holo.Light主题应用程序的window标题

我正在尝试使用以下 xml 将自定义背景颜色设置为 Theme.Holo.Light 应用程序的标题。但它不起作用。

Theme.Holo.Light 以某种方式覆盖@style/WindowTitleBackground

如果我将父级设置为 android:Theme,它工作正常。我想拥有 Halo.Light 主题,但背景不同。我已经看过自定义背景布局示例,但在我学习的过程中,我不想深入讨论。

任何帮助表示赞赏。谢谢

0 投票
1 回答
1331 浏览

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); 将是对象的材料。以下是我的材料课

环境、漫反射、镜面反射和光泽的变量设置如下

0 投票
2 回答
4156 浏览

android - 如何在android更改后立即从光传感器获取传感器数据?

好吧,我已经成功地获得了光值,但是,它被极大地延迟了。即使使用 .SENSOR_DELAYED_FASTEST 也大约 3~5 秒,即使输入 0 作为速率也是如此。它太慢了。我让程序检查屏幕上的光传感器值,然后相应地改变亮度,希望它能解决可怕的自动亮度延迟。但是在搞砸之后,在我看来这只是android中的一个缺陷。它根本无法足够快地更新。我使用了 getDefaultSensor() 但根据 android 文档,这个值可以被延迟/过滤,但是在阅读 stackoverflow 上的另一篇文章后,getSensorList() 和 getDefaultSensor() 返回相同的值,并且 getSensorList() 与 getDefaultSensor() 没有什么不同

我的问题的原因是:这是正确的吗?android只是在立即更新方面失败了吗?这很有趣,因为我的 Windows MOBILE(不是手机)可以立即更新,我喜欢它。但是对于所有 android 设备,我都看到了同样的事情。那么这只是androids编程中的一个缺陷吗?作为应用程序开发人员,我有办法解决这个问题吗?还是我们必须忍受它?

0 投票
1 回答
80 浏览

ios - 最轻的 UI 元素

当我设置的只是背景颜色或图像时,我试图找出在降低应用程序性能方面最不重要的 UI 元素。我不需要元素的任何用户交互。我只需要元素的内容显示在屏幕上。

从我目前了解到的情况来看,CALayers 非常轻巧,我使用起来很舒服,但它们是我可以用于简单显示用例的最轻量级 UI 元素吗?

谢谢!

0 投票
1 回答
1554 浏览

actionscript-3 - 如何在 away3d 4.0 Beta 中使用多类灯光?

我从awayd3D开始,在4.0beta版本上没有找到解决方案,我可以向你求助。

我在互联网上做了很多研究,希望找到关于灯光使用的解释,但很少有与每个版本 3 相关的解释。

我意识到这个场景(http://goupix.com/test/)。您可以使用 WASD 键或箭头键来移动。

为了实现这个场景,我有几个文件: Exploration.as:创建场景、相机和灯光。光:

ClassGeneratemap.as:使用为我的装饰生成的表 ClassGenerateobjet.as:由 ClassGeneratemap 调用并将元素放置在场景中

我真的不知道如何使用我放置的灯。我不知道这是否确实是一种正确的光。

我希望你能帮助我。谢谢

0 投票
3 回答
2956 浏览

c++ - 2D照明 - 使光线不穿过墙壁

我有一张碰撞图,还有一些我想成为光源的地方。光源提供的光实际上是我可以看到地面的形状。现在看起来像这样:

在此处输入图像描述

所以光线穿过墙壁。我想让它看起来像这样:

在此处输入图像描述

(我用深黄色标记了与墙壁的碰撞)

所以光线在遇到墙壁时会停止。我想获得正确光线的形状,最好是包含它的位图)

我的第一个想法是从光源投射光线并检查它们何时与墙壁碰撞(我知道如何做到这一点),但是我需要每隔 0.001 度投射光线,因此生成灯光的时间太长了。其次是光的形状并不总是圆形,有时它可以是椭圆或半椭圆,甚至是三角形或圆形的一部分。通常,我的位图的光线不会碰撞任何东西,我想将其减去一点以使其看起来像第二张图像。

最后一件事,我使用的是 allegro 4.2.1,但前面提到的所有位图都是带有 0 和 1 的二维数组。

感谢您的帮助,对不起,很长的问题和我的英语不好。