Cesium中对3D数据集进行体渲染展示

体渲染

传统意义上我们构建模型都是通过构建物体的外表面去实现的,例如通过三角面构建模型,或者通过方程的形式构建隐式的表面模型。

而体渲染则是通过 3d 数据集渲染物体的一种方式,典型的 3D 数据集是医学领域上的 CT,CT 是一组 2d 的切片图像(例如,每毫米深度进行一次切片),因此 3D 数据集也可以理解成一组存放 2d 贴图的数组。

通过 3D 数据集可以渲染出具有内部信息的模型。

3d 数据集

3D 数据集

上面提到的 3D 数据集除了 CT 还可以表示很多类型的信息。

比如气象数据、降雨量数据、流体数据等。

他的结构如下图所示:

3d 数据集

3D 数据集一般可以解析成一个 Uint8Array 数组,也就是说 3D 数据集中每个点存储的信息只能在 0-255 之间

而解析出来的 Uint8Array 长度等于 3D 数据集的 x * y * z。

例如,一个1024 * 1024 * 1024 的 3D 数据集,解析出来会得到一个Uint8Array(1073741824)。

渲染 3D 数据集

3D 数据集的渲染也就是体渲染,事实上使用了与光线追踪类似的方式。

着色器中主要做的事情就是发射光线、判断光线在什么位置碰撞、碰撞后怎么弹射、什么时候停止等。

光线每次与 3D 数据集发生碰撞的位置,都可以查询到一个值,通过对这个值进附色即可实现体渲染

气象数据渲染

数据涉密,只放视频

其他 3D 数据集渲染

数据来自:cesium-volume-rendering

由于数据加载时间很长,而且效果一般,故还是只放视频- -

求 3D 数据集下载方式

3D 数据集着实难找🤮

有了解的伙伴欢迎提供下载方式!


Cesium中对3D数据集进行体渲染展示
https://www.liaomz.top/2022/10/26/cesium-zhong-dui-3d-shu-ju-ji-jin-xing-ti-xuan-ran-zhan-shi/
作者
发布于
2022年10月26日
许可协议