threejs 管子_3D渲染性能/管道的细节水平(LOD)网格在threejs(3D rendering performance / pipeline for level of detail (LO...

Just looking for some general guidance, it's been a very long time since I fiddled with anything 3D and the landscape has changed a lot, if you pardon the awful pun.

I have a number of highly detailed 3d models (3M+ faces each) generated from real-world terrain scans that need to be rendered in a browser. They are 'irregular' and cannot be rendered from a grid/DEM or anything.

I have partitioned the models into smaller objects and generated LOD for each object (3 levels) which produces a common set of vertices and three index buffers referencing some or all of the vertices which I stream progressively to the JS client.

I intend on rendering somewhere between 500k - 1M polygons a frame by specifying the LOD for each object based on the distance from the camera.

So my question is, how do I efficiently switch between these levels?

I've tried the naive approach which naturally produces bumps and glitches in the frame rate as the data is sent to the GPU. But I was looking for a way to send all of the data (vertices and the three index buffers) to GPU memory and then tell it to render with a specific index buffer, say the low res buffer, and then switch to the med or high res buffer as the camera gets closer.

The Three.LOD() solution doesn't seem to be of any use to me as it just produces the same fps glitch as my naive solution.

Would appreciate some guidance, however general. Cheers!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值