问题标签 [occlusion]

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 投票
1 回答
446 浏览

c++ - 从深度传感器到OpenGL的z-buffer的数据实现遮挡

我想了解更多关于使用深度传感器(例如 kinect 或 Realsense RGB-D 开发套件)数据的增强现实应用程序中的遮挡。

我读到应该做的是将渲染对象的 z 缓冲区值与传感器的深度图值进行比较,并以某种方式掩盖这些值,以便只看到更接近用户的像素。有没有人有有什么资源或开源代码可以做到这一点或可以帮助我理解它吗?

更重要的是,我希望我的手(我检测为一个斑点)总是遮挡虚拟对象。难道没有更简单的选择吗?

0 投票
2 回答
2390 浏览

augmented-reality - AR中的遮挡

我正在尝试在现实世界对象位于其前面时隐藏虚拟对象,但没有任何运气,我一直在统一使用遮挡设置,但虚拟对象不会被隐藏?

0 投票
1 回答
376 浏览

performance - glGetQueryObjectuiv, "绑定的查询缓冲区不够大,无法存储结果。"

我正在尝试解决运行此示例时遇到的错误。

它关于查询遮挡,本质上它渲染四次正方形改变每次视口但只有中央两次它会实际渲染一些东西,因为第一个和最后一个视口故意在监视器区域之外。

每次,它将glBeginQuery使用不同的查询并第一次呈现,然后我查询GL_ANY_SAMPLES_PASSED

然后我尝试阅读结果

但我得到:

如果我查看api 文档,他们会说:

我想那句话有一个错误,我认为他们的意思是GL_QUERY_BUFFER代替GL_QUERY_RESULT_BUFFER,实际上他们GL_QUERY_BUFFER也在这里使用了例如..无论如何,如果那里绑定了任何东西,那么 params 被解释为偏移量,好的

但我的缓冲区足够大:

所以有什么问题?

我尝试为缓冲区大小写一个大数字,例如 500,但没有成功...

我猜错误出在其他地方..你能看到吗?

0 投票
0 回答
363 浏览

unity3d - 遮挡剔除过早

我的遮挡设置在某种程度上是错误的,因为它有时遮挡得太早

这里看起来不错,红色箭头标记了问题隧道 在此处输入图像描述

如果我将相机向后移动一两分米,隧道部分被剔除得太早,您会看到绿色明显线是错误的,查看预览,您会看到红色轮廓的结果 在此处输入图像描述

这是我的区域设置 在此处输入图像描述

任何想法为什么这样做?

0 投票
0 回答
869 浏览

python - Matplotlib 多个`plot_surface`s,你如何获得正确的表面遮挡?

我有两个plot_surface相交的 Matplotlib 。例如,两个足够接近以相交的球体。

当我使用鼠标移动相机角度时,我希望有适当的遮挡(即看不到被遮挡隐藏的球体部分)。

相反,我被困在看到一个对象总是完全渲染在另一个对象之上。

我需要为重要的演示文稿渲染 png 文件。但是由于当前的遮挡非常错误……我无法使用任何屏幕截图。

如何获得正确的表面遮挡?

非交互式后端和渲染器是否正确进行遮挡?(如果是,那么这将是一个前进的方向。尽管这是一个不理想且不优雅的前进方向......但至少我可以通过以编程方式设置相机的高度和方位角和相机中心。)


最小、完整和可验证的示例代码:

截图:

在此处输入图像描述

在此处输入图像描述

由于某种原因,当您旋转相机的方位角时,这会导致一个对象被绘制在另一个对象之上。这两个屏幕截图显示了方位角 -88 度和 -92 度。所以也许问题是-90度。或者,可能任何plot_surface具有更接近相机的中心的对象都被渲染在另一个对象的顶部。

0 投票
1 回答
25 浏览

image - 如何注册两个被遮挡的图像

我有两个多视图遮挡图像,例如 在此处输入图像描述- 参考图像并在此处输入图像描述- 感知图像。

这些图像是多视图平移和旋转图像。我想注册两张图片。当我使用 SURF 查找特征点注册这两个图像并应用单应矩阵并注册两个图像时,我的输出结果并不完美。

我没有得到真正的注册图像。如何在这些遮挡区域中注册这两个图像?

注意:- 我没有相机校准详细信息。

谢谢,

0 投票
1 回答
81 浏览

opengl - 硬件遮挡查询结果似乎不准确

我遇到了一个关于遮挡查询的问题。就我而言,查询结果似乎总是比预期的要大。例如我使用1024*1024的分辨率进行渲染,但是场景中一个物体的查询结果是2085029(>1024*1024)。

使用的查询方法来自GPU Gems Chapter 29

任何人都可以帮忙吗?

0 投票
0 回答
177 浏览

occlusion - opengl 遮挡查询,对于 GL_SAMPLES_PASSED 结果始终为零

我正在尝试为遮挡查询编写一个示例 opengl 应用程序来识别可见的三角形。但是遮挡查询总是返回零计数进行像素采样。

我按照以下步骤进行操作:

  1. 设置 opengl\glut

  2. 从一个点调用lookat(从那里可以看到完整的模型)

  3. 启用深度测试、深度蒙版、启用面部剔除(以及其他一些选项)。
  4. 渲染完整的模型。
  5. 禁用深度蒙版
  6. 开始新的遮挡查询
  7. 渲染一个三角形\面
  8. 结束查询并等待结果可用。
  9. 一旦结果可用,然后得到计数。
  10. 对所有三角形 \ 面重复步骤 6 到 9。

对于给定的模型,我计算 bbox 并将其放大某个因子(比如 1.5),以便完整的模型可见。从 bbox 的每个角落,我调用步骤 2-10,并将眼点作为角落。

这里的问题是对于第 9 步的每个查询结果(遮挡的输出)查询为 0,即它说明可见像素的数量为零。

我在此处附加了示例应用程序(ObjRender Sample),它加载 OBJ 文件并执行上述步骤 1-10。要重现它,只需打开 VS 项目,构建并运行它。它有样本数据。

0 投票
2 回答
511 浏览

c++ - glGenQueries 总是返回非查询对象,glBeginQuery 返回错误

我正在尝试使用 openGL 3.3,使用 GLFW,GLEW 创建一个遮挡查询

加载功能:

绘图功能:

但是,我所有其他 glCalls 都可以正常工作,没有任何错误

在 Mac OS X、英特尔 HD 4000 上运行

0 投票
0 回答
861 浏览

unity3d - Vuforia 遮挡管理示例

我是增强现实的新手,正在尝试在 Unity 中运行 Vuforia 示例。我正在使用 Windows 7 32 位。我从统一站点下载了遮挡管理示例:这里并将 OcclusionManagement-6-2-10.unitypackage 导入到一个新项目中。我还附上了我的 Unity 编辑器的屏幕截图。我找不到足够的文档来说明下一步该做什么,尝试按原样运行该项目。当我这样做时,什么也没有发生。一些帖子指出我应该在我的项目中添加相关场景并运行它们。我添加了 Vuforia 3 Occlusion 场景来投影并运行它们。现在相机打开了。当我创建一个新项目并添加一个 ARCamera 并运行它时,输出非常相似。如果我在运行此示例时遗漏了一些步骤,以及是否需要做任何额外的事情,谁能解释一下。此外,文件似乎没有解释这个样本的确切输出是什么, 在此处输入图像描述

在此处输入图像描述