在three.js中显示数千个图像

时间:2013-11-04 08:26:49

标签: three.js webgl

我在一个场景中有多达200,000个单独的图像(到目前为止,用精灵完成)。我想看看这些精灵,当我飞来飞去时,他们应该总是面对镜头(就像精灵一样)。 我的问题是:如何才能实现WebGL的最佳性能?使用withScreenCoordinates的Sprite:与GL_POINT一样呈现false吗? 目前,fps已经以非常低的图像数量下降。到目前为止我正在使用mipmapping和sprite。因为他们需要转身面对我,所以我不想使用BufferGeometry ..

我非常感谢一些想法和意见:)谢谢!

PS:总而言之,你可以“飞行”通过200,000张图像并停止/选择你认为有趣的图像

2 个答案:

答案 0 :(得分:1)

我的团队也需要完成这项工作,遗憾的是Doidel的笔记在项目完成之前就已经完成了。我们开发了PixPlot,一个用于图像的three.js可视化层:

enter image description here

我在这里整理了一篇博客文章,其中详细说明了详细信息:http://douglasduhaime.com/posts/visualizing-tsne-maps-with-three-js.html

简而言之,如果其他人遇到这个问题,你会想要创建一个几何(理想情况下)一个大图像地图集(一个大小为2048像素,包含许多较小图像的2048像素的jpg)作为几何体的纹理。为要显示的每个小图像添加顶点,面和vertexUV,并从图集纹理中拉出每个图像。

答案 1 :(得分:-1)

使用了大量的技巧和东西,一旦我完成所有工作,我就会在http://blogs.fhnw.ch/threejs/上写一下