当前位置:网站首页>Open Inventor 10.12 重大改进--和谐版
Open Inventor 10.12 重大改进--和谐版
2022-07-31 13:27:00 【john_dwh】
以下文档包含 Open Inventor 10.12 的发行说明
请参阅下面的此版本中包含的增强功能和新功能列表。
体积可视化
混合多个数据集时的约束体渲染
在以前版本的 Open Inventor 中,VolumeViz 已通过混合多个数据集的能力进行扩展,无论其范围或尺寸如何。例如,当绘制体数据 V1 的正交切片时,即使 V1 和 V2 的范围或维度不同,也可以将 V1 的体素与另一个体数据 V2 的体素混合。正交切片明显受限于 V1 的体积范围。也可以使用SoVolumeRender混合 V1 和 V2,但渲染是在 2 个体积的范围内完成的。
从这个新版本开始,可以指定体积渲染必须限制在哪个体积范围内。在SoVolumeRender类中添加了一个新的多字段dataSetIds 。如果 dataSetIds 包含单个 id,则在所选体积的体积范围内完成渲染。如果 dataSetIds 包含 2 个 id,则体积渲染是在选择的 2 个体积数据的联合中完成的。ETC...
已更新现有示例以演示如何将体积渲染限制在两个体积之一中。
- C++:$OIVHOME/examples/source/VolumeViz/multiData/AmplitudeVelocity
- .NET:$OIVNETHOME/examples/source/VolumeViz/AmplitudeVelocity
- Java:$OIVJHOME/examples/volumeviz/sample/amplitudeVelocity
以下图像来自此示例,显示了混合两个体积数据的 3 种可能性。
第 1 卷中的体积渲染 | 第 2 卷中的体积渲染 | 两个体积中的体积渲染 |
混合多个数据集时的体绘制性能
当混合不同的数据集时, SoVolumeRender的渲染性能在 Open Inventor 10.12 中得到了显着提升。可以很容易地观察到帧率提高的比率 x3(与 10.11 相比)。
支持未定义的体素
从 Open Inventor 10.11 开始,可以处理体积数据中未定义的体素。此功能已扩展:
- 可以在浮点类型的体积数据上设置未定义的值。这在以前的版本中是不可能的,但现在这个限制被删除了。
- VolumeViz 现在能够混合SoDataSet::undefinedValue字段不同的多个卷数据。在以前的版本中,当组合多个不具有相同 undefinedValue 的体积时,体积渲染是不确定的。此限制已得到修复,因此其值未定义的每个体积体素都被认为是完全透明的。
体积渲染中的 4 种新渲染模式
枚举SoVolumeRender::RenderMode扩展了 4 个新值。
- MAX_INTENSITY_DIFFERENCE_ACCUMULATION
- INTENSITY_DIFFERENCE_ACCUMULATION
- MAX_GRADIENT_DIFFERENCE_ACCUMULATION
- GRADIENT_DIFFERENCE_ACCUMULATION
第一个也称为MIDA。这种新模式和其他新的累积模式有助于突出体数据中的特征,而无需指定复杂的传递函数。
现有示例已更新,其中可以选择新的 MIDA 模式。
- C++:$OIVHOME/examples/source/Medical/Rendering/Visualization/medicalMIP
- .NET:$OIVNETHOME/examples/source/Medical/Rendering/Visualization/MedicalMIP
- Java:$OIVJHOME/examples/medical/rendering/visualization/medicalmip
添加了一个新示例,以突出这些新渲染模式在众所周知的机械数据集上的好处。
- C++:$OIVHOME/examples/source/VolumeViz/renderModes
- .NET:$OIVNETHOME/examples/source/VolumeViz/RenderModes
- Java:$OIVJHOME/examples/volumeviz/sample/renderModes
您将在下面的插图中看到与经典的体积渲染模式相比,MIDA 如何轻松突出该体积中的一些内部特征。
VOLUME_RENDERING 模式 | MAX_INTENSITY_DIFFERENCE_ACCUMULATION 模式 |
每个图块调用一次 getTileMinMax
在这个新版本中,VolumeViz 的数据加载效率更高,因为它确保了方法SoVolumeReader::getTileMinMax在每个加载的图块中只调用一次。在以前的版本中,可以多次调用此方法,这可能意味着根据读取器实现多次预取相同的数据块。在数据不在本地的云环境中,数据加载性能可能会受到真正的影响。
进度条
在以前的版本中,数据的加载进度仅在以 fixedResolution 模式进行体积渲染时才被跟踪。因此,只有在SoLDMResourceParameters::fixedResolution为 TRUE 时才能实现进度条。这是一个很大的限制,但从 Open Inventor 10.12 开始它已被删除。现在,加载进度也以非固定分辨率跟踪,因此可以在所有情况下使用进度条。请注意,当所有需要的 3D 瓦片都上传到 GPU 上时,加载进程完成,因此当体积渲染不再更新渲染区域时。一些额外的细节可以在SoVolumeRender::setRenderProgress的文档中找到。
C++ 示例 VolRend 已更新,它现在使用附加到SoVolumeRender的进度条。见 $OIVHOME/examples/source/VolumeViz/VolRend
VolRend 中的进度条显示 1176 个图块中的 661 个已加载的状态 |
核
计算着色器
计算着色器是不属于正常渲染管道的通用着色器。它们用于 GPGPU 编程,并受益于 GPU 与 CPU 相比更快地执行浮点计算的能力。有关详细信息,请参阅计算着色器。
得益于以下新 API,从 Open Inventor 10.12 开始可以轻松使用计算着色器:
- 新类SoComputeShader
- 新类SoComputeShaderScheduler
- SoShaderObject::Shadertype 中的新 COMPUTE_SHADER 枚举值
- SoShaderProgram 中的新方法setComputeShader和新字段SoMFNode图像
限制:VolumeViz 还不能使用计算着色器。这个限制应该在下一个版本中删除。
快速编辑
快速编辑是定义正在交互编辑/修改的场景图的一部分并且其渲染性能打算独立于场景的其余部分的特征。快速编辑由字段SoSeparator::fastEditing定义。Open Inventor 10.12 中移除了几个延迟,因此现在的快速编辑速度非常快。
多个观众
同时使用多个查看器时,渲染性能得到了显着提高。
MeshVizXLM
Java 中的皮肤提取速度更快
由于结构化 IJK 网格上的高效并行算法,Java 中第一次皮肤提取的时间显着减少。第一次提取对应于当网格第一次被给予皮肤提取器时或者当网格的拓扑已经改变时的提取。有关详细信息,请参阅MoMeshSkin或MiSkinExtractHexahedronIjk。MoMeshSlab类也受益于这一改进。
BeyondCell 示例
先前版本中引入的这个新的 MeshViz XLM C++ 示例现在被移到一个单独的包中,即将推出一个单独的下载页面。这个新示例也可在 Java 中使用,并将按需提供。
新的转换器工具 ReShrink 可作为 BeyondCell 的补充。该工具可以将 Eclipse 网格文件 (GRDECL) 转换为 BeyondCell 可以读取的多分辨率网格文件。它将允许使用您的水库数据文件演示 BeyondCell。一个介绍 BeyondCell 和 ReShrink 的专用网页即将推出。
平台掉落
从 Open Inventor 10.12 开始不再提供以下平台:
- 视觉工作室 2015
- RHEL7
- .NET 框架 4.6.1
边栏推荐
- ECCV2022:在Transformer上进行递归,不增参数,计算量还少!
- C# 中的Async 和 Await 的用法详解
- C# List Usage List Introduction
- numpy矩阵和向量的保存与加载,以及使用保存的向量进行相似度计算
- Text similarity calculation (Chinese and English) detailed explanation of actual combat
- Flutter keyboard visibility
- 报错:npm ERR code EPERM
- A detailed explanation of the usage of Async and Await in C#
- IDEA版Postman插件Restful Fast Request,细节到位,功能好用
- Network layer key protocol - IP protocol
猜你喜欢
随机推荐
Even if the image is missing in a large area, it can also be repaired realistically. The new model CM-GAN takes into account the global structure and texture details
C# List Usage List Introduction
基于改进YOLOv5的轻量化航空目标检测方法
SAP message TK 248 solved
Invalid bound statement (not found)出现的原因和解决方法
PHP序列化:eval
IDEA can't find the Database solution
Introduction to using NPM
C#中+=的用法
技能大赛训练题: 子网掩码划分案例
Edge Cloud Explained in Simple Depth | 4. Lifecycle Management
报错IDEA Terminated with exit code 1
How to quickly split and merge cell data in Excel
Flutter keyboard visibility
滑窗法切分数据
STM32的CAN过滤器
C#使用ComboBox控件
csdn发文助手问题
ECCV2022: Recursion on Transformer without adding parameters and less computation!
C# List用法 List介绍