码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Open Inventor 10.12 Crack


    Open Inventor release notes.

    Release notes Open Inventor 10.12 RC

    The following document contains the release notes for Open Inventor 10.12

    See below the list of enhancements and new features included in this version.

    • VolumeViz
      • Constrained volume rendering when multiple datasets are blended
      • Performance of volume rendering when multiple datasets are blended
      • Support of undefined voxels
      • 4 new render modes in volume rendering
      • getTileMinMax called once per tile
      • Progress bar
    • Core
      • Compute shaders
      • Fast editing
      • Multiple viewers
    • MeshVizXLM
      • Skin extraction is faster in Java
      • BeyondCell example
    • Platforms dropped
    • Upcoming life cycle events

    VolumeViz

    Constrained volume rendering when multiple datasets are blended

    In the previous versions of Open Inventor, VolumeViz has been extended by the capability to blend multiple datasets whatever their extent or dimension. For instance when drawing an ortho slice of a volume data V1, it is possible to blend the voxels of V1 with the voxels of a another volume data V2 even if V1 and V2 don't have the same extent or dimension. The ortho slice is obviously constrained in the volume extent of V1. It is also possible to blend V1 and V2 using SoVolumeRender but the rendering was done in the union of the extents of the 2 volumes.

    Starting with this new version, it is possible to specify on which volume extent the volume rendering must be constrained. A new multiple-field dataSetIds is added in the class SoVolumeRender. If dataSetIds contains a single id, the rendering is done in the volume extent of the selected volume. If dataSetIds contains 2 ids, the volume rendering is done in the union of the 2 volumes data selected. etc...

    An existing example has been updated to demonstrate how the volume rendering can be constrained in one of the two volumes.

    • C++: $OIVHOME/examples/source/VolumeViz/multiData/AmplitudeVelocity
    • .NET: $OIVNETHOME/examples/source/VolumeViz/AmplitudeVelocity
    • Java: $OIVJHOME/examples/volumeviz/sample/amplitudeVelocity

    The following images come from this example, and show the 3 possibilities to blend two volume data.

    Volume rendering in volume 1

    Volume rendering in volume 2

    Volume rendering in both volumes

     

    Performance of volume rendering when multiple datasets are blended

    The rendering performances of SoVolumeRender have been significantly improved in Open Inventor 10.12 when different datasets are blended. A ratio x3 of framerate improvement (compared with 10.11) can be quite easily observed.

    Support of undefined voxels

    Since Open Inventor 10.11, it is possible to handle undefined voxels in a volume data. This feature has been extended:

    • Undefined values can be set on a volume data of type float. It was not possible in the previous version, but this limitation is now removed.
    • VolumeViz is now able to blend multiple volumes data whose SoDataSet::undefinedValue fields differ. In the previous version the volume rendering was undetermined when combining multiple volumes that did not have the same undefinedValue. This limitation has been fixed, thus each volume voxel whose value is undefined is considered as fully transparent as expected.

    4 new render modes in volume rendering

    The enumeration SoVolumeRender::RenderMode has been extended with 4 new values.

    • MAX_INTENSITY_DIFFERENCE_ACCUMULATION
    • INTENSITY_DIFFERENCE_ACCUMULATION
    • MAX_GRADIENT_DIFFERENCE_ACCUMULATION
    • GRADIENT_DIFFERENCE_ACCUMULATION

    The first one is also known as MIDA. This new mode and the other new accumulation modes help to highlight features in a volume data without specifying complex transfer function.

    An existing example has been updated in which the new MIDA mode can be selected.

    • C++: $OIVHOME/examples/source/Medical/Rendering/Visualization/medicalMIP
    • .NET: $OIVNETHOME/examples/source/Medical/Rendering/Visualization/MedicalMIP
    • Java: $OIVJHOME/examples/medical/rendering/visualization/medicalmip

    A new example has been added to highlight the benefits of those new render mode on a well know mechanical dataset.

    • C++: $OIVHOME/examples/source/VolumeViz/renderModes
    • .NET: $OIVNETHOME/examples/source/VolumeViz/RenderModes
    • Java: $OIVJHOME/examples/volumeviz/sample/renderModes

    You will find below illustrations showing how MIDA can easily highlight some internal features in this volume compared to the classical volume rendering mode.

    VOLUME_RENDERING mode

    MAX_INTENSITY_DIFFERENCE_ACCUMULATION mode

     

    getTileMinMax called once per tile

    Loading data of VolumeViz is more efficient in this new version because it ensures the method SoVolumeReader::getTileMinMax is only called once per loaded tile. In the previous versions, this method could be called many times which could mean prefetching the same data tile several times depending on the reader implementation. Data loading performance could be really impacted in a cloud environment where data are not on premise.

    Progress bar

    On previous versions, the loading progression of the data was only tracked when doing volume rendering in fixedResolution mode. Thus it was only possible to implement a progress bar if SoLDMResourceParameters::fixedResolution was TRUE. That was a strong limitation but it has been removed starting with Open Inventor 10.12. Now, the loading progression is also tracked in non fixed resolution, thus a progress bar can be used in all cases. Note that the loading progression is completed when all needed 3D tiles are uploaded on the GPU, thus when the volume rendering does not update any longer the render area. Some additional detail can be found in the documentation of SoVolumeRender::setRenderProgress.

    The C++ example VolRend has been updated and it uses now a progress bar attached to an SoVolumeRender. See $OIVHOME/examples/source/VolumeViz/VolRend

    progress bar in VolRend showing a state where 661 out of 1176 tiles are loaded

    Core

    Compute shaders

    Compute shaders are general-purpose shaders that are not part of the normal rendering pipeline. They are used for GPGPU programming and benefit from the faster capability of GPUs to perform floating-point calculations compared to CPUs. See Compute Shader for detail.

    Starting with Open Inventor 10.12 compute shaders can be easily used thanks to the following new API:

    • new class SoComputeShader
    • new class SoComputeShaderScheduler
    • new COMPUTE_SHADER enumeration value in SoShaderObject::Shadertype
    • new method setComputeShader and new field SoMFNode images in SoShaderProgram

    Limitation: Compute shaders can't yet be used by VolumeViz. This limitation should be removed in the next version.

    Fast editing

    The fast editing is a feature defining a part of the scene graph that is being edited/modified interactivly and whose rendering performances intend to be independant of the rest of the scene. The fast editing is defined by the field SoSeparator::fastEditing. Several latencies have been removed in Open Inventor 10.12, thus the fast editing is really fast now.

    Multiple viewers

    The rendering performances have been significantly improved when using multiple viewers at the same time.

    MeshVizXLM

    Skin extraction is faster in Java

    The time of the first skin extraction has been significantly reduced in Java thanks to an efficient parallel algorithm on structured IJK grids. The first extraction corresponds to the extraction when a mesh is given the first time to the skin extractor or when the topology of the mesh has been changed. See MoMeshSkin or MiSkinExtractHexahedronIjk for detail. The MoMeshSlab class benefits also from this improvement.

    BeyondCell example

    This new MeshViz XLM C++ example introduced in previous version is now moved in a separate package with a separate download page coming soon. This new example is also available in Java and will be provided on demand.

    A new converter tool ReShrink is available as a complement to BeyondCell. This tool can convert an Eclipse grid files (GRDECL) into multi resolution grid files that can be read by BeyondCell. It will allow to demonstrate BeyondCell using your reservoir data file. A dedicated web page introducing BeyondCell and ReShrink is coming soon.

    Platforms dropped

    The following platforms are no longer provided starting with Open Inventor 10.12:

    • VisualStudio 2015
    • RHEL7
    • .NET framework 4.6.1
  • 相关阅读:
    【2022】Nginx使用ngx_http_log_module模块定义日志
    Visual Studio 2017多工程开发
    NFVA35065L32 IGBT 650V 汽车智能功率模块 (ASPM) 特征
    模板引擎Thymeleaf和监听器
    从0到1利用express搭建后端服务
    分享《泰坦陨落2》缺少msvcr120.dll的解决方法,亲测有效的5个修复方法
    简单学习OSM(OpenStreetMap)文件格式的最基础结构
    计算机网络第三章——数据链路层(中)
    排查disabled问题之谷歌新版本特性
    HR坦言:不敢招聘5年开发经验的程序员?怎么回事?
  • 原文地址:https://blog.csdn.net/john_dwh/article/details/126468471
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号