当前位置:网站首页>vtkjs介绍
vtkjs介绍
2022-04-21 19:38:00 【小江江12】
VTK 是一个用于图像处理、3D 图形、体绘制和可视化的开源软件系统。VTK 包括许多高级算法(例如,表面重建、隐式建模、抽取)和渲染技术(例如,硬件加速体积渲染、LOD 控制)。JavaScript 实现仍然是实际 C++ 库的子集,但将努力将原生 VTK 代码轻松移植或编译到 WebAssembly 中,以更好地融合这两个世界。vtk.js 是用纯 JavaScript (ES6) 对 VTK 的真正重写。因此,并非所有内容都被重写。
VTK 起源于教科书《The Visualization Toolkit, an Object-Oriented Approach to 3D Graphics》,最初由 Prentice Hall 出版,现由 Kitware, Inc. 出版(第三版 ISBN 1-930934-07-6)。VTK 已经发展(自 1994 年首次发布以来)成为商业、学术和研究社区的全球用户群。
vtk.js 旨在成为 VTK 的子集,并使用 WebGL (+WebGPU) 为几何和体积渲染提供 3D 渲染
vtk.js 是为 Web 上的科学可视化制作的渲染库。它采用 VTK 结构和专业知识,为您的浏览器带来高性能渲染。
与 VTK/C++ 有什么区别?
VTK.js 是使用纯 JavaScript (ES6) 对 VTK/C++ 的完全重写。到目前为止,重写的重点是 ImageData 和 PolyData 的渲染管道、管道基础设施和常用的读取器(obj、stl、vtp、vti)。还提供了一些过滤器作为演示。我们的目标不是让 vtk.js 提供与 VTK/C++ 中可用的相同的过滤器集,但 vtk.js 确实提供了定义管道和过滤器所需的基础设施。
您可以将一些 VTK/C++ 编译到 WebAssembly 中,并使它们能够与 vtk.js 交互。通过这样的交互,您可以选择需要从 VTK 中提取的内容,并在您的 Web 应用程序中启用它。VTK/C++ WebAssembly 甚至可以用于渲染,示例可以在VTK 存储库中找到。此外, itk.js(它是通过 WebAssembly 实现的 ITK)还为多个图像过滤器和数据读取器提供了经过验证的实现。但是,在访问 VTK 或 ITK WebAssembly 网页时,必须下载 WebAssembly 文件的大小方面的一些额外费用;我们仍然需要做一些工作来简化 vtk.js + VTK WebAssembly 的集成。
如果你想留在纯 JavaScript 领域,那么 vtk.js 可能是你的理想解决方案。
除了 vtk.js 的渲染能力之外,该库还提供帮助类来连接到远程 VTK/ParaView 服务器,以通过从服务器到客户端,只涉及在客户端进行渲染。
使用 vtk.js
要求
一般来说,VTK 尽可能地便携。下面的具体配置已知可以工作并经过测试。
vtk.js 支持以下开发环境:
- 节点 12+
- NPM 6+
我们使用@babel/preset-env和默认的浏览器 target集。但是,当从源代码构建时,可以对其进行调整以支持任何提供 WebGL 的浏览器。
版权声明
本文为[小江江12]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_39966730/article/details/124290166
边栏推荐
- AAAI 2022 更细粒度的不实信息检测
- How to classify cosmetics in the management system?
- MKL library matrix multiplication
- 使用mRemoteNG工具管理所有远程连接
- Learn MySQL performance tuning and make your database smooth
- Relationship between deep learning, multi machine and multi card batchsize and learning rate
- Rk3399 - add USB to serial driver
- 第五章 使用 matplotlib 绘制饼图
- leetcode18. 四数之和
- Text to SQL learning and sorting (XVII) s2sql model
猜你喜欢

Pytorch 卷积层

Some keywords of the robotframework cannot be used or are black
![[advanced C language] ⑥ detailed explanation of function pointer](/img/30/729fe5d804ac1a423397ada599d767.png)
[advanced C language] ⑥ detailed explanation of function pointer

switch分支

31 - Gru principle and source code line by line implementation

学完这篇Charles抓包教程,我直接把fiddler卸载了

自动控制原理第6章——控制系统的校正及综合(思维导图)

学历造假、考试包过……考证市场有多乱

Edgeboard records

Flitter Xcode packaging and publishing failed error ninety thousand one hundred and sixty-five
随机推荐
Instruction of crystal Chem active GIP ELISA Kit
2022.04.21 (lc_452_detonates the balloon with the least number of arrows)
What is outsourcing?
Questions fréquemment incorrectes pour la certification quotidienne du CISSP (20 avril 2022)
今天睡眠质量记录83分
Chekine series high density lipoprotein (HDL-C) content detection scheme
【JZ47 礼物的最大价值】
Openkg open source series | Encyclopedia of characters knowledge map (Southeast University)
Static link and dynamic link
内网即时通讯软件优点大全分享
int count= cmd.ExecuteNonQuery();附近有一条语法错误
MySQL MHA高可用集群部署及故障切换
[Netty ]自己实现一个redis客户端难吗?
Linux Centos7 安装MySql8 (简单、实测可行)
力扣-53.最大子数组和
线程
5.1 overview of triggers in fundamentals of digital electronic technology
使用CMake构建/导入目标
leetcode344. 反转字符串
Switch branch