次のような 1 つの巨大な Json Mesh があり、scenejs でレンダリングします。
{"vertices":[
0.0, 0.0, 0.0,
0.0, 0.0, 2.0,
1.0, 0.0, 2.0,
0.0, 2.0, 2.0, //... next object
],
"normals":[
0.0, 0.0, 1.0,
0.0, 0.0, 1.0,
0.0, 0.0, 1.0,
0.0, 0.0, 1.0, //... next object
],
"colors":[
1.0, 0.0, 0.0, 1.0,
0.0, 1.0, 0.0, 1.0,
0.0, 0.0, 1.0, 1.0,
1.0, 1.0, 1.0, 1.0, //... next object
],
"idMapColors":[
0.0, 0.0, 0.0, 0.756,
0.0, 0.0, 0.0, 0.756,
0.0, 0.0, 0.0, 0.756,
0.0, 0.0, 0.0, 0.756, //... next object
]}
idMapColors は「オブジェクト」ごとに一意であり、ID に変換して追加情報を提供できます。
画面では通常の色でメッシュをレンダリングし、2 番目のレンダリング パスでは idMapColors でメッシュをレンダリングします。特定の Point(Mouse Position) で 2 番目の FrameBuffer (idMapColors 用) の色の値を読み取る必要があります。
Scenejsでこれを行う方法は? idMapColors を Framebuffer にレンダリングすることはできますが、そのデータにアクセスするにはどうすればよいでしょうか?
https://github.com/xeolabs/scenejs/wiki/frameBufの wiki で、ピッキングがさらに作業中であることがわかりました。現時点でこれを行う可能性はありますか?