问题标签 [picking]

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

webgl - 如何在 Dart WebGL 应用程序中加速波段选择工具

手头的任务是向 Dart WebGL 应用程序添加波段选择工具。该工具将用于通过拖动鼠标在多个对象上绘制一个矩形。因此,可以在单个用户操作中选择/挑选多个对象。我目前正在使用 gl.readPixels() 从屏幕外渲染缓冲区中读取颜色。问题是,当一个大区域被波段选择时, gl.readPixels() 会发出数百万像素。扫描如此大量的颜色会浪费宝贵的时间来定位少数物体。

请任何人指出使用 Dart+WebGL 对多个对象进行波段选择的可能更快的方法。

作为参考,我在下面显示了波段选择工具的当前主要部分。

0 投票
1 回答
275 浏览

opengl - Trackball issue with Raypicking

I'm trying to develop a 3D raypicking in my OpenGL scene.

I have a working OBJ loader with a trackball.

Here trackball's functions:

If I cast a ray (CTRL + Left_click) at the beginning It works with correct 3D far_point and near_point If I rotate the object (use Trackball), the ray doesn't use real eye/far points and I can't figure out why. I've tried with GluLookAt instead of glRotatef, but I can't figure out how to move camera with mouse like this trackball does.

0 投票
0 回答
1000 浏览

javascript - Three.js [r65]:通过 TrackballControls 旋转后通过 Raycaster 进行拾取工作异常

一点背景:

我有一个场景,其中填充了相当大量的对象(非合并),这些对象必须可以单独挑选。

这些对象中的每一个都是具有以下结构的 Object3D:

默认情况下,在初始渲染时,只有 child_1 是可见的。

每个 child_1 是一个平面几何,其四元数设置为相机的四元数,因此它始终面向它(类似于广告牌)

相机声明如下:

每个 child_1 都像这样插入到场景中:

在最初的渲染帧上一切正常:以下拾取功能有效。

但是,一旦使用(轨迹球)控件旋转:

  • 初始外观()或相机([0,0,0])
  • 或一组不同的坐标(如对象的中心)

然后采摘开始表现不佳。

平移后也是如此,放大/缩小后在较小程度上(但可能是由于错误的原因)也是如此。

我的问题是:在旋转期间或之后,我是否需要在某处更新矩阵?做点别的吗?就好像相机没有根据控件处理的旋转/平移进行更新。

在这里小提琴:

http://jsfiddle.net/Hal9/TrfpU/

如果您玩弄控件、缩放、旋转和平移,我希望您会注意到一些“蓝色方块”在悬停时不会触发红色助手外观。他们中的大多数都这样做,但不是全部。

0 投票
1 回答
1059 浏览

textures - Jogl,仅创建红色通道 u16 但得到“纹理类型和格式组合无效”

所以,我正在尝试通过 id 来实现拣货。这意味着对于每个 drawArray,不同的唯一 id 将被设置为统一并保存在纹理上的红色组件中。

16位绰绰有余(65k元素),所以我选择使用shorts,我知道uniform变量只能是ui,但我还是决定试一试

我还在这里找到了另一个问题,其中答案包含一个带短裤的小例子

然而,这里我的代码初始化帧缓冲区和两个纹理,一个用于深度,一个用于 color_attachment0,只有红色分量为 16

我在 id-glTexImage2D 收到以下错误

为了完整起见,这里是 VS:

modelToWorldMatrix 目前尚未考虑

这里是FS:

使用短裤可行吗?

Jogl,Opengl 3.3

编辑:现在看来我解决了那部分

但是现在当我尝试设置短统一值时出现错误

错误

统一的位置似乎是正确的,因为它不是-1(实际上是1)......

那么如何上传短片呢?

0 投票
2 回答
3203 浏览

javascript - WebGL:使用帧缓冲区拾取多个对象

我正在尝试在 WebGL 中实现拾取。我有很多物品(大约 500 个),我希望每个物品都可以被挑选出来。为了做到这一点,我做了一个循环,为每个对象分配一个唯一的颜色(参见拾取原则):

framecolors然后在经典缓冲区中使用以检查每个对象是否具有不同的红色阴影。有效。

现在,我想使用对象的原始颜色和背景中带有红色阴影的帧缓冲区。我已经通过了一些代码,我有点困惑。

这是我到目前为止所尝试的。

采摘前调用的函数:

之后调用的函数:

正如您可能理解的那样,我对帧缓冲区不太满意,我只是不太了解它们是如何工作的,尽管我阅读了很多关于它们的信息。我不知道如何链接framecolors到帧缓冲区。有办法吗?

谢谢,R。

0 投票
1 回答
617 浏览

java - 为什么在另一个 IDE 中运行时,Eclipse 中的程序可能会出现空指针?

我无法让一些代码在 Eclipse 中工作。它是带有来自 Processing 的元素的 Java 代码,它在 Processing IDE 中工作,但在 Eclipse 中会立即出现空指针异常。它还涉及另一个名为 Picking 的库。我有其他处理代码在 Eclipse 中运行良好,所以我怀疑它与 Picking 库有关。

Picking jar 在我的构建路径上,根据堆栈跟踪,我认为它可以正常访问。

这是堆栈跟踪:

这是代码:

}

提前感谢您提供的任何帮助。

0 投票
1 回答
574 浏览

ios - GLKMathUnproject :检测对象上的点击

所以,似乎 GLKit 有 GLKMathUnproject 可以用来计算你在 3D 空间中点击的位置(太棒了)

但是,我无法让它工作,我复制了几个不同的示例,但它仍然没有检测到我在 0,0,0 处单击我的立方体。我基本上做了一个 for next 循环,看看我的光线是否击中了我的立方体。

0 投票
1 回答
1512 浏览

java - 在 display() JOGL 中调用 glReadPixels

我正在尝试实现对象拾取。我有代码将对象渲染为纯色、不亮的颜色,然后读取屏幕缓冲区中的像素。我解释读数glReadPixels()以确定光标当前位于哪个对象上。最后,我重新渲染所有光照、纹理和颜色。

问题是调用glReadPixels()返回给我最终渲染的像素颜色,而不是拾取渲染。我将不胜感激如何阅读拾取渲染像素的解释。

我知道我可以使用 OpenGL 名称堆栈,但坦率地说,我觉得它既不方便又荒谬。

0 投票
5 回答
1264 浏览

openerp - Openerp:如何在交货单中显示新字段

我在 stock.picking 中添加了新字段,并希望它们作为 Delivery Orders 笔记本中的新页面出现在表单视图中。

我认为我遇到了麻烦,因为交付订单中使用的模型是 stock.picking.out,它继承了 stock.picking。

据我所知,使用的表单视图是stock.view_picking_out_form,它继承了stock.view_picking_form。

我在 OpenERP 7 中尝试了很多东西,但都没有奏效。

在 6.1 版中,它的工作方式是这样的......

.py:

xml:

任何人都可以帮忙吗?

谢谢。

0 投票
1 回答
280 浏览

c++ - OpenGL Picking 在错误的地方选择

我正在尝试通过拾取来识别 Qt 中 OpenGL 中 mousPressEvent 上的绘制对象。

我做了一些研究,但无法找到问题所在。

很明显,它可以识别某些东西(因为 glRenderMode(GL_RENDER) 的返回值通常是大于 0 的整数),但当我单击对象时不一定。

我认为 gluPerspective 是这里的问题,但我只是不知道如何解决它。

鼠标按下事件:

绘图功能:

EDIT1:也许完成代码会有所帮助?

初始化器:

调整大小: