2011-02-26 112 views
0

我有來自Kinect相機的an image that is a combination of the RGB and depth data使用深度圖像數據在WebGL中構建3D模型

我想要做的兩件事情,無論是在WebGL的如果可能的話:

  1. 從深度數據來創建3D模型。
  2. 將RGB圖像投影到模型上作爲紋理。

我應該看哪個WebGL JavaScript引擎?是否有類似的例子,使用圖像數據來構建3D模型?

(第一個問題問!)


發現它很容易在Photoshop(3D>新特網從灰度)的3D工具:http://www.flickr.com/photos/forresto/5508400121/

回答

1

我不知道任何WebGL的框架是具體解決您的問題。我認爲您可以使用深度數據創建網格,從矩形均勻網格開始,根據深度值將每個頂點移到後面或移動到前面(Z軸)。

一旦你有了這個,那麼你需要生成紋理數組,並從你張貼在flickr上的圖像中推斷出在深度圖像和紋理之間有一對一映射。所以生成紋理數組應該很簡單。您只需將紋理上的對應座標(s,t)映射到相應的頂點。因此,對於每個頂點,紋理數組中都有兩個座標。然後你綁定它。

最後,您需要確保您使用紋理來爲圖像着色。這是一個兩步過程:

第一步:將紋理座標作爲「attribute vec2」傳遞給頂點着色器並將其保存爲變化的vec2。

第二步:在片段着色器中,讀取您在步驟一中創建的varying vec2,並使用它來生成gl_FragColor

我希望它有幫助。