问题标签 [lighting]

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 投票
3 回答
244 浏览

opengl - 3d 阴影/照明因环境阴影面而丢失

你们如何处理 3d 游戏中的阴影?我有一个定向光源,可以遮蔽由立方体制成的树的一侧。其余 3 个面都只获得环境阴影。因此,当查看两个环境阴影面时,3d 效果会丢失。我错过了什么吗?我是否应该将离光源最远的一侧涂得更暗?我尝试查看《辐射 3》,看起来这就是他们所做的,但 Minecraft 似乎用两个相对的侧面光遮蔽了一个草丘,而其余两个相对的侧面则有点暗,给人的效果是两个光有两个定向灯阴影面和深色阴影面的环境光。

0 投票
1 回答
1961 浏览

java - Java3d光照问题

从事编码工作 20 多年。我是 Java3d 的新手,但我对它印象深刻——保留模式比直接模式容易得多!

无论如何,我的照明有问题。当我创建自己的几何图形时,我无法让照明工作;当我使用 java3d utils 创建的几何图形(例如 Sphere())时,照明效果很好。我看到的问题是我的对象从各个角度都是白色的。我试过添加环境光和定向光,我的物体总是白色的。

文档说如果我想使用照明,我不应该在我的对象上提供颜色外观属性,而我没有这样做。它还说我应该提供法线,我正在这样做。我尝试过手动创建法线和使用 NormalGenerator。我已经尝试过 Java3d 1.5.1 和预发行版 1.6.0,但没有成功。我在 Windows 7 64 位上使用 Java 1.6.0_18。

这段代码没有太多内容。问题一定是非常基本的,但我看不到。我在此处粘贴了 2 个我的几何创建功能,其中照明不起作用。请看一下,让我知道我做错了什么:

0 投票
2 回答
764 浏览

jquery - JQuery.SVG 的透明效果

我已经使用出色的 Jquery.SVG 绘制了一个 svg 路径(文档可能会更好)

一切正常。但我正在尝试做一些更有趣的事情。

有一个彩色矩形,我想使用 specularLighting 突出显示它。

我在想一些这样的代码:

$('#path-svg-id','#divid').filters.specularLighting(filter, 'specOut', 'blur', 5, 0.75, 20, {lightingColor: '#bbbbbb'});

但它不起作用。有任何想法吗?

0 投票
1 回答
810 浏览

iphone - iPhone OpenGL-ES:阻止光源移动

我一直在遵循照明指南并为我的旋转立方体设置光源(通过用户交互在 3 轴上旋转)

但是,无论我做什么,我都无法让光源保持在正确的位置,它似乎随着立方体旋转。因此,如果我旋转立方体,一部分会被点亮,而另一部分则不会。

我正在做很多矩阵操作。我尝试重置矩阵,然后应用光源,我尝试glLoadIdentity()重置视图。

我似乎无法保持静止。

0 投票
1 回答
658 浏览

opengl-es - OpenGL ES 1.1 是否可以同时拥有 - 顶点颜色和光照?

如果我有一个使用 vertexColors 的网格,然后启用 GL_LIGHTING,那么 vertexColors 将被忽略并被计算的光照替换。

OpenGL ES 1.1 中是否有办法同时拥有两者 - 顶点颜色和动态照明?

谢谢!

0 投票
2 回答
1437 浏览

opengl - GLSL 着色问题:为什么我的球体是灰度而不是红色?(见代码)

我正在开发一个初学者级别的 GLSL 着色器程序。我正在关注教程。但我的球体总是以灰度显示,而不是我预期的红色。

顶点着色器:

片段着色器:

代码只是从教程中复制和粘贴。

从碎片着色器中,漫反射颜色是红色的,但我的球体是灰度的。我知道着色器已正确加载,因为如果我取出片段着色器中的代码并使用以下内容:

gl_FragColor = vec4(0.0,1.0,0.0,1.0);

然后我的球体如预期的那样是纯绿色的。我不知道是不是 openGL 代码中的某些东西(例如 Renderer.cpp)导致了冲突,或者是否还有其他问题。

这是我第一次在 GLSL 中编码,我很困惑我需要打开/关闭什么 gl_Enable 才能使着色器正常工作。

感谢您的任何反馈!

编辑: 好的,如果我在渲染之前调用 glColor3f,我可以获得正确的颜色。但是光的颜色不是直接导致球体颜色的变化吗?我担心我实际上并没有调用着色器中的函数......

EDIT2: 所以事实证明,每当我将任何代码放入顶点着色器或片段着色器(除了 gl_Color = ...)时,我得到的纯色就会消失......我想这意味着我的着色器出了问题?

EDIT3: 这是设置我的着色器的代码(由我的助教提供):

EDIT4: 使用 kvark 建议的着色器日志,我设法修复了着色器中的错误(结果发现有几个错误)。如果您想查看最终代码,请发表评论或给我留言(这个问题越来越长)。

0 投票
1 回答
708 浏览

c++ - DirectX9 中使用固定函数渲染管道的每个顶点预计算光照

我正在使用固定函数管道制作 DirectX 9 C++ 应用程序,给定每个顶点的预计算光照,(不管法线/等)如何将其应用于最终图像?

我目前正在使用带纹理的图元,我正在尝试整体更改颜色(在整个图元上 - 而不是使用渐变),并且由于灯光的数量和设计的应用程序,我必须预先计算照明即使在低端机器上也能获得不错的帧率。(即每盏灯一个通过是一个太多)

我的顶点结构看起来像

基本上我想添加一个光照值并使用每个顶点的固定函数管道应用它(不使用实际的“灯光”)

任何帮助将不胜感激...

0 投票
1 回答
597 浏览

c++ - 一些着色器代码中的环境光照

这是我的着色器代码,它作为字符串输入到程序中,基本上只显示带有局部光的立方体。

我需要知道如何通过这段代码实现环境光照,从而点亮整个立方体(以及场景中的任何其他东西)。

它基于 openGL 框架,显示的所有内容都受此代码影响……是的,这是家庭作业!

0 投票
1 回答
1818 浏览

iphone - Cocos2d & Box2d 动态光照和阴影

我正在寻找开始构建 iPhone 应用程序,我想知道是否可以使用 Cocos2d/Box2D 组合创建动态照明/阴影?我以前和这些人一起工作过,并想和他们在一起。我希望灯光随着玩家的移动而动态更新。

所需效果的一个示例是:

基因组 2D

http://blog.flash-core.com/?p=135找到

谢谢,
安迪

0 投票
1 回答
1647 浏览

c++ - openGL光照随相机旋转

我正在尝试为大学课程构建一些简单的东西,我只是尝试点亮它,但是灯光似乎随着相机旋转,这非常烦人......

我已经使用 pastebin 将我的代码粘贴在下面(这样它就不会拉伸页面),但这里也有一些解释:

我在 Display::Init 中添加了灯光(使用 PoolLight 类)。相机在 Display::Resize 中设置。它位于“台球桌”上方 (0, 0, 80),向下看 (0, 0, -1),X 轴向前/向上 (1, 0, 0)。

相机的这种简单移动和旋转也调整了灯光,但不调整几何体(或者它可能调整几何体,而不是灯光,我不太确定)。

我已经阅读了有关同一问题的其他一些答案,但我不太了解。我希望有人可以用更简单的术语向我解释它,或者可能发现一些我不小心排除的明显东西。

无论如何,这是代码:

主展示类

池灯类: