首页 > 其他分享 >Cesium体渲染之复刻ThreeJS案例

Cesium体渲染之复刻ThreeJS案例

时间:2023-02-18 18:55:50浏览次数:56  
标签:ThreeJS 自定义 渲染 使用 Cesium 赘述 复刻

体渲染

体渲染具体是什么这个知乎上可以搜到,具体是什么这里就不过多赘述了,这里主要是讲讲如何在cesium中实现体渲染。

Cesium的体渲染

在Cesium最新的开发者版本中(102版本)已默认支持WebGL2了,并且官方也提供了体渲染的demos,不过官方的VoxelsDemos存在不能使用自定义三维贴图的缺陷,使用起来不太友好,这里就不过多赘述了,具体可以看一下源码。

因此这里使用的方法如下
1、仿照Cesium的Texture类,自己实现了一个Texture3D类,然后再添加了对应的uniform sampler3D的声明,这样就可以在Cesium中使用自定义的三维贴图了。
2、使用Cesium的底层DrawCommand自定义Primitive,纹理使用自己实现的Texture3D类,这样就可以在Cesium中实现体渲染了。
PS:剩下的柏林噪声数据源和体渲染的shader就不过多赘述了,具体可以看一下ThreeJS两个Demo的源码。

参考文献

体渲染
Cesium 高性能扩展之DrawCommand
Cesium Volumn 体渲染

实现效果

img

<iframe allowfullscreen="true" border="0" frameborder="no" framespacing="0" height="650px" scrolling="no" src="//player.bilibili.com/player.html?aid=224558118&bvid=BV1mb411R7LW&cid=1012794372&page=1" width="100%"> </iframe>

标签:ThreeJS,自定义,渲染,使用,Cesium,赘述,复刻
From: https://www.cnblogs.com/webglblog/p/17133291.html

相关文章