0

我有一个图像,它是来自 Kinect 相机的 RGB 和深度数据的组合。

如果可能的话,我想做两件事,都在 WebGL 中:

  1. 从深度数据创建 3D 模型。
  2. 将 RGB 图像作为纹理投影到模型上。

我应该看哪个 WebGL JavaScript 引擎?有没有类似的例子,使用图像数据构建 3D 模型?

(问的第一个问题!)


发现使用 Photoshop 中的 3D 工具很容易(3D > New Mesh From Grayscale):http ://www.flickr.com/photos/forresto/5508400121/

4

1 回答 1

1

我不知道有任何 WebGL 框架可以专门解决您的问题。我认为您可能会使用您的深度数据创建一个网格,从一个矩形均匀网格开始,并根据深度值将每个顶点移动到后面或前面(Z 轴)。

一旦你有了这个,那么你需要生成纹理数组,从你在 flickr 上发布的图像我会推断出深度图像和纹理之间存在一对一的映射。所以生成纹理数组应该很简单。您只需将纹理上的对应坐标 (s,t) 映射到相应的顶点。因此,对于每个顶点,纹理数组中都有两个坐标。然后你绑定它。

最后,您需要确保使用纹理为图像着色。这是一个两步过程:

第一步:将纹理坐标作为“ attribute vec2”传递给顶点着色器并将其保存到不同的 vec2。

第二步:在片段着色器中,读取varying vec2您在第一步中创建的并使用它来生成gl_FragColor.

我希望它有所帮助。

于 2011-03-04T03:46:24.390 回答