问题标签 [depth]

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 回答
1206 浏览

apache-flex - flex中两个组件之间的深度问题

我知道我要问的可能太简单了,但我一直无法找到解决问题的方法。

我正在开发一个 AIR 应用程序。我有一个自定义皮肤,用于火花组件的窗口应用。在那个皮肤中,我添加了一个位图图像来为窗口应用程序设置背景。

另外,我有一个名为“header”的自定义组件,它的作用是绘制一些表格标题。

现在,如果我<ui:header width="100%" and height="40"\>在位图图像之后的皮肤中添加标题,那么标题会按预期显示。但是,如果我将标题放在窗口应用程序中,那么它会显示在位图图像下方,除非删除位图图像,否则无法看到。

我试图通过相应地更改位图图像和标题组件的深度来解决此问题,以使它们以正确的顺序出现,但这对我不起作用。

如果你有想法,请帮帮我。谢谢

这是代码的一部分

`

`

uiskin 是

`

`

标题是

`

`

代码的某些部分未在此处显示,但我想以上内容应该让您了解我正在尝试做什么。

我想要做的是我的windowedapplication 有一个自定义皮肤,即uiskin。还有一个单独的组件称为“标题”。在 uiskin.mxml 中,我添加了一个位图图像以将其用作 windowedapplication 的背景。在窗口应用程序中,我添加了标题。这样做会导致标题出现在图像后面。

现在,我所做的是在位图图像之后的 uiskin 中添加标题。现在,这使标题出现在位图图像上方。但是,我实际上想将标题放在窗口应用程序中,而不是在自定义皮肤中。有没有办法做到这一点。

0 投票
1 回答
3018 浏览

iphone - iPhone Dev:将深度缓冲区渲染到纹理导致黑色纹理

编辑:我将 FBO 排除在外,以确保问题不是来自那里,所以现在我只是在做以下事情:

设置纹理:

然后渲染:

我得到相同的结果!如果我将 FB0Texture 设置为“DEPTH_COMPONENT”纹理,则为黑色纹理,但如果我将 FB0Texture 设置为常规 GL_RGBA 纹理,则为正常场景......

所以我想我要么设置了错误的深度纹理,要么我在渲染中做错了什么会导致 RGBA 纹理看起来正常但深度纹理被搞砸了?GL_DEPTH_TEST 已启用并且工作正常(模型看起来正确)所以我认为实际渲染没有问题,但此时我迫切需要线索......

请帮忙!

// 编辑结束

我正在尝试在 iphone 上实现一些基本的阴影映射,但我一直坚持将深度值渲染为纹理……这让我发疯,我显然做错了什么,但无法弄清楚它是什么……

所以我在做什么:

  • 设置默认帧缓冲区,附加颜色渲染缓冲区和深度渲染缓冲区
  • 设置一个新的帧缓冲区(称为 FB0),将纹理附加到深度组件

然后当我渲染:

  • 将场景绘制到 FB0
  • 切换到默认帧缓冲区
  • 使用 FB0 作为纹理绘制全屏四边形

我得到......什么都没有!(好吧,我得到了一个全白色的纹理)

如果我将纹理附加到 FB0 的颜色分量而不是深度分量,一切正常,就像我将场景绘制到 FB0,然后使用 FB0 作为纹理来绘制一个全屏四边形,我会看到我想要的看看我是否直接绘制到默认帧缓冲区。

但是,当我将纹理附加到深度组件时,我得到的只是这个白色屏幕/纹理。

一些代码:

设置缓冲区:

如果我在此之后检查帧缓冲区的状态,我不会收到任何错误消息,所以我假设缓冲区是正确创建的。

然后在渲染中:

在这一点上,我希望看到一个黑色和白色纹理,灰色级别表示深度,但我只是得到一个纯白色四边形/纹理。

同样,如果我将 FB0Texture 附加到 GL_COLOR_ATTACHMENT0 而不是 GL_DEPTH_ATTACHMENT 一切都按预期工作,我的场景会正确渲染到纹理。所以我想问题出在我如何附加纹理,或者可能是我做事的顺序?

0 投票
2 回答
1615 浏览

glsl - [GLSL]如何比较世界坐标中所有顶点的z值?

这可能是一个简单的问题。作为 GLSL 的新手,我宁愿在这里问。现在,在顶点着色器中,我可以通过以下方式获得世界坐标系中的位置:

问题是:现在我可以在所有顶点中获取 posWorld 的最大值/最小值吗?这样我就可以获得顶点深度的范围,但不能获得深度缓冲区的范围。

如果这是不可能的,我怎样才能得到世界坐标系中近/远平面的 z 值?

最诚挚的问候,

0 投票
1 回答
1149 浏览

actionscript-3 - 在 AS3 中设置多个深度层

我知道如何在 as3 中设置深度 - 但是使用 as2 我可以使用数字开始多个“深度点” - 在 as3 中,我似乎所能做的就是将此对象设置为比该对象更高/更低的深度。问题是(在处理一堆等距框时,用户可以以任何顺序将其放置在网格上)我不想处理让每个元素都知道其他元素在哪里的额外复杂性,然后适当调整。

我想要做的是设置 6 个总深度数/位置,一个用于 6 x 6 网格中的每一列。因此,第 1 列中的任何内容都将从 500 开始其深度放置,第 2 列中的任何内容将从 1000 开始其深度,第 3 列将是 1500 等等。

这样,第二次我将一个对象放在一个特定的列上,它会将自己塞在下面,或者将自己放在其他列中的所有周围项目之上,这对我来说比以某种方式弄清楚 15 个不同大小的盒子在哪里要容易得多,如何它们相互关联,然后找出它们需要进入的深度顺序。

有任何想法吗?as3 似乎已经删除了将深度设置为特定数字的能力:p

0 投票
1 回答
2616 浏览

node.js - Node.js 0.4 中的最大递归深度

由于我使用 Node.js 的时间不长,我遇到了以下问题。我知道使用回调驱动的范例,我们需要将我们在同步代码中使用的循环转换为递归。我的问题是我无法理解递归节点的深度,不同测试的结果不一致。例如,我尝试了在 Web 上找到的代码:

它在 18500 次递归后给了我节点异常(最大递归深度)。所以我尝试添加一些功能,比如使用队列:

它还没有完成,但到目前为止已经进行了超过 400 万次递归(实际上队列已经被填满)。所以我想澄清一下,递归深度限制在 node.js 中是如何工作的。我的猜测是,如果我在那个递归调用的函数中做某事,节点就有更多的时间来释放调用堆栈,但我可能大错特错。欢迎更有经验的节点用户提供任何澄清。

0 投票
1 回答
188 浏览

arrays - 基于 MC 位置的复杂深度排序问题

我需要帮助来拯救一个涉及一些极端深度管理的项目。我们没主意了!

该项目涉及堆叠各种尺寸的盒子,每个盒子都是等距的 - 这就是深度发挥作用的地方(我们需要在那个盒子前面编织这个盒子,但是在两个盒子的顶部和另一个盒子下面,等等 - 任何事情都会发生!)

这是目前的项目:

http://clearlytrained.com/depth/

如果网格空间是绿色的,您可以拖动盒子然后放开网格 - 如果您要拿两个高一个网格空间的盒子,然后彼此相邻放置,然后取一个更宽的盒子(2x2)并放置它在两者上方(因此两个下部框的间隙位于您放置在顶部的框的中间)您会看到最右边的下部框的深度现在更高并且高于顶部的框。我完全理解为什么会发生这种情况,但是无论我们如何按顺序扫过网格,这在某种程度上都会以目前的方式发生。

我们当前排序深度的方式是扫描网格数组,它存储屏幕上每个框的名称,根据我们扫描行和列的方向,我们得到一个顺序,然后设置每个框的深度。问题是即使一个盒子可能占用 6 个网格空间,我们也不会设置深度 6 次——我们只在第一次找到它在数组中的实例名称时设置它——所以如果我们扫过网格从下到上,从左到右,一个物理上位于另一个盒子下方的盒子,但更靠右总是会有更高的深度。不好!

我能看到解决此问题的唯一方法是找出先 X 然后 Y 值的某种框与框比较,设置某种双循环/if statemenet 条件,或多或少,以编程方式手动放置每个框每次我们移动或放置一个新盒子时的深度。因此,复杂性从按盒子实例名称的顺序设置深度,到将这个盒子与其他所有盒子进行比较,然后将其他所有盒子与其他所有盒子进行比较,最后得出我们需要堆叠它们的深度的真正顺序。在某些情况下,我们可能会从左到右,然后从下到上,然后从左到右——没有平滑的模式。

请使用提供的链接,如果您有任何其他问题或需要更多信息,请告诉我,我很绝望!

0 投票
7 回答
44991 浏览

kinect - kinect深度相机的精度

kinect 中的深度相机有多精确?

  • 范围?
  • 解析度?
  • 噪音?

特别想知道:

  • 微软有没有关于它的官方规格?
  • 有没有关于这个主题的科学论文?
  • 来自 TechBlogs 的调查?
  • 易于复制的个人实验?

我现在正在收集大约一天的数据,但大多数作者没有说出他们的来源,而且价值似乎有很大不同......

0 投票
3 回答
5815 浏览

algorithm - 3D-Anaglyph 创建算法,使用深度图图像:在哪里可以找到?

我正在寻找一种通用算法来计算从原始图像和他的 b/w 深度图开始的红色/cian 浮雕(例如:http ://www.swell3d.com/2008/07/turn-2d-painting- into-3d-anagl.html )

例如,在 Photoshop 中使用了该算法,但我找不到可读的解释来重现它。

谢谢

0 投票
1 回答
271 浏览

xml - “正确”的 XML 格式/树深度性能

我正在构建一个 XML 文件来保存要导入 Android 应用程序的轮渡时间表,并开发了三个 XML 树结构,但正在寻找基于性能和/或正确 XML 格式使用的意见。这三个结构在下面,最后它们将被导入到一个数组中,我将在下一次轮渡时间搜索。

预先感谢您的帮助。

修改后的 XML 树 - 更好?


XML 树 1:

XML 树 2:

XML 树 3:

0 投票
1 回答
1028 浏览

opengl - 如何处理 glsl 中的深度

我对openGL中的FBO和深度有疑问。我将投影、视图和模型矩阵传递给写入 g 缓冲区的着色器。当我取消绑定 FBO 并写入 gl_FragColor 时,场景会按应有的方式显示。但是当我写入 gl_FragData[0] 然后将随附的纹理写入屏幕对齐的四边形时,对象是根据处理的相反顺序而不是深度绘制的......我可以看到首先处理的对象到之后处理的对象。有没有人遇到过同样的问题,他们知道解决方法吗?或者有人可以提供从顶点着色器读取深度值的语法,查询当前深度,然​​后根据比较写入深度缓冲区,即在片段着色器中手动处理操作。