Inviwo Inviwo Versions Save

Inviwo - Interactive Visualization Workshop

latest

2 years ago

The latest inviwo build, updated for every merged pull request.

v0.9.11

4 years ago

We are releasing a new Inviwo version 0.9.11. Major change since the last release include:

  • We have updated a number of build requirements:
    • A compiler supporting C++17 (We have built Inviwo with VS 2017, Clang 7, GCC 8, and XCode 10)
    • CMake version >= 3.12
    • Qt version >= 5.12
  • New transfer function transforms: flip positions, interpolate alpha, equalize alpha (#618)
  • Better import of transfer functions from images (#626)
  • Source processors now have an option to see and explicitly set the data reader used. (#635)
  • We now group add the module targets in a folder per external modules directory. The folder name can be customized by adding a meta.cmake file to the external modules directory with set(group_name <name>) otherwise the folder name is used. (#637)
  • Image port resize refactoring. The handling of image resize event is now more robust. (#645, #658)
  • The Volume '.dat' reader now supports a ByteOffset option.
  • The Camera now has a set off buttons to easily fit data into the view. The buttons are also available via the canvas context menu. (#656)
  • The Welcome widget got a search feature (#654, #662)
  • Jenkins got better at tracking warning and format issues.
  • Lots of fixes for static builds (#627, #631, #633)
  • Observables no longer makes its observers also observe its clones (#643)
  • PropertyOnwer will let all its observers know about the property removal on destruction (#632)

See our changelog for more details.

v0.9.10

4 years ago

We are releasing a new Inviwo version 0.9.10. Major change since the last release include:

  • Embedded web browser support
  • Get Started widget
  • Python processors
  • Refactoring of the transfer function
  • New module structure
  • New meta tool for adding new modules/processors

See our changelog for more details. Moreover this will be the last version to not require c++17.

v0.9.9

6 years ago

It has been a while since the last Inviwo release so this one includes a whole lot of improvements! Here is a summary of the changes made. See our changelog for more details and instructions on how to update your code.

You can find binaries and code below the summary.

Core Changes

  • Introduced a WorkspaceManager, owned by the InviwoApplication, that is responsible for clearing, loading, and saving a workspace. Different items such as the processor network can register callbacks to do stuff when clearing, loading, or saving a workspace. Other object can also register callbacks. It also keeps a list of registered factories to use while deserializing. The deserializer does not automatically add factories anymore that has to be done by the user by calling registerFactory on the deserializer before deserializing.

  • Added data format dispatch functions to VolumeRAM, LayerRAM, and BufferRAM. Se documentation in respective header for usages.

  • Added swizzling to image layers and textures.

  • Major picking refactoring, to make it possible to use with image layouts. Is now propagated as regular events. Extend picking support for meshes, RandomMeshGenerator now handles picking. Added a SphereRenderer and a example processor RandomSphereGenerator that also handles picking.

  • PropertyPresetManager for property presets: A property preset can be defined for only the property, workspace-wide, or application-wide. Presets are accessible via the context menu of a property

  • GLM: Updated version to 9.8.4. Turned off glm swizzle operators, turns out they add a huge compile overhead > 100% In the case you use them you need to replace them with the manual operators. for example myvec4.xyz() -> vec3(myvec4), if you use permutations you have to write them out explicitly.

  • Removed shared base classes between buffer/mesh/layer/image/volume. Now uses one converter factory per data representation type, i.e. one factory for LayerRepresentations, one for VolumeRepresentations etc. A representation now knows the type of its owner, I.e. VolumeRepresentation knows that the owner is a volume. DataGroupPrepresentation does no longer inherit from DataRepresentation.

Modules

  • Major refactoring of the python binding, are now based on the pybind11 project enabling a much richer object oriented interface. Most Inviwo classes now have python versions. Enabling a more natural syntax. This update is not backwards compatible with the old python scripts, although updating should be simple.

  • FontRendering, support for utf8 font rendering, glyph texture atlas, renderToTexture functionality for rendering text into a sub region of a texture

  • New plotting module, has support for scatter plots and PCP plots, and some functionality for drawing axises in 2D and 3D

  • New Animation module for creating time line based animations. Still only basic support for floating point interpolation, but a general framework is put in place.

  • New HDF5 module which allow HDF5 data to be imported

Documentation

  • Doxygen: Major redesign, We now have one main doxygen target that generates documentation for all enabled modules.

  • One help per module, so the help is now distributed in each module instead of being in one central place. See our wiki on documenation to see how you can create help for your processor like this: image

  • Help will be reloaded while running Inviwo when rebuilding it for a module

Various

  • NetworkEditor new GUI without all the gradients and shadows.

  • Major cleanup of qt widgets, updated code to use qt's new signal and slot syntax, which made it possible to remove a lot of old template workarounds