VTK——双重深度剥离
文章目录
- 概要
- Depth Peeling
- Depth Peeling Algorithm
- Dual Depth Peeling
- 参考
概要
可视化是从数据中辨别意义的实践。为了帮助这种实践,可视化工具包(VTK)提供了两套工具。一组将数据处理成更有用的格式(过滤器),另一组显示数据(渲染技术)。 VTK 7 系列的主要重点是改进和扩展渲染。让我们检查一下迄今为止我们所做的改进。
随着之前实验性的“OpenGL2”渲染后端升级为默认,事情从 7.0 版本开始滚动。这个名称用词不当,因为它与 OpenGL 版本 2 无关。更准确的名称是“OpenGL>=3.2”,因为我们用现代且更快的可编程着色器风格渲染调用替换了固定功能渲染调用。 VTK 是一个支持许多功能的大型库,因此这是一项比看上去更加艰巨的任务。至少需要 773 次提交(并且还在增加),涉及数百个类以及数万行代码,才能让所有内容至少与之前一样显示。不过,这是非常值得做的。我们的测试表明,体渲染速度大约快两倍,表面渲染速度大约快 100 倍。
关于 OpenGL2 的另一件事是:除了速度更快之外,OpenGL2 还可以更轻松地注入低级着色器代码以构建全新的渲染功能。我们最近在浮点缓冲区中添加了直接值渲染,以支持 Cinema 中的延迟渲染、线框渲染的隐藏线去除以及快速近似抗锯齿 (FXAA),以制作更吸引人的图像并保留大规模执行深度合成的能力(例如,在 IceT 中的 ParaView )。
我们还忙于其他几项渲染改进。其中包括使用 EGL 本机平台界面进行离屏渲染;与 OpenSWR 软件光栅器兼容,该软件针对英特尔中央处理器 (CPU) 进行了优化;与 OSPRay 光线追踪器集成,同样进行了优化;并支持新的商品级虚拟现实系统,如 HTC Vive 和 Oculus Rift。