正在删除数据(刷新)WebGL Globe
Removing data (refreshing) WebGL Globe
我正在玩WebGL Globe(http://globe.chromeexperiments.com/)并且希望能够用新数据"刷新"它,然后将其动画化为新状态。库中提供的示例没有帮助,因为当页面加载时,它们会立即加载数据系列,但我希望动态加载新数据(例如,每30秒)
使用新的data
重复执行以下操作只会额外更新地球仪的数据,因此当新数据进入时,条形图会在地球仪上"堆叠"起来:
globe.addData(data, {format: 'magnitude'});
globe.createPoints();
globe.animate();
似乎没有一种明显的方法来使用内置的API减去/清除/重置地球数据(然后动画化为新的数据状态)。这很容易实现吗?
我想明白了。在globe.js
中添加以下行:
function createPoints() {
...
this.points.name = "lines"; // Add this line
scene.add(this.points);
}
}
// Create this function
function removeAllPoints() {
scene.remove(scene.getObjectByName("lines"));
}
// Near the bottom of the code
this.addData = addData;
this.removeAllPoints = removeAllPoints; // Add this line
this.createPoints = createPoints;
this.renderer = renderer;
this.scene = scene;
现在你可以简单地做这样的事情:
TWEEN.start();
globe.removeAllPoints();
globe.addData(data, {format: 'magnitude', name: 'results', animated: false});
globe.createPoints();
霍布斯3给出的答案真的很有帮助。但只有一个小小的改变。
您无需致电globe.animate()
。
我曾在一个项目中使用过它,在该项目中,我每5秒更新一次数据,并一次又一次地调用globe.animate()
使渲染变得缓慢。评论出来,你就是金子。
相关文章:
- 如何检测用于WebGL的专用或集成显卡
- 在WebGL中绘制多个二维图像
- WebGL绘制图像
- webgl在一个正方形上操纵两个纹理
- Three.js,WebGL,渲染六幅图像的全景图
- 如何在使用IEWebGL时检测WebGL是否可用
- WebGL-依次应用多个程序
- 关于基于VivaGraph WebGL的渲染的问题
- WebGL多纹理多维数据集
- 如何避免webGL着色器加载给cpu带来太多负载
- WebGl-倾斜投影
- WebGL-操作useProgram无效
- Webgl 加载 json 模型问题
- WebGL VS Canvas 2D 硬件加速
- 如何在 webgl 中使用步幅
- Webgl readPixels() 无效操作:格式/类型组合无效
- 在WebGL中相同的旋转
- 检测 WebGL 支持的正确方法
- 如何使用 THREE.js/WebGL 将 2D 绘图转换为 3Drawing
- 正在删除数据(刷新)WebGL Globe