Skip to content

Releases: kostrykin/LibCarna

3.4.0

11 May 15:37

Choose a tag to compare

General Updates

  • Rename library to LibCarna to comply with upstream license.
  • Change license of LibCarna to MIT.
  • Fix issues with the documentation.
  • Fix bugs in LibCarna::base::HUV.
  • Fix order of volume rendering stages in LibCarna::helpers::FrameRendererHelper.
  • Fix compatibility with newer OpenGL versions (tested with up to OpenGL 4.6).

Added Functionality

  • Add LibCarna::base::ColorMap.
  • Add support for arbitrary colormaps in LibCarna::presets::MIPStage.
  • Add LibCarna::presets::LibCarnaException::what() to better align with standards.
  • Add LibCarna::base::HUVOffset.
  • Add LibCarna::presets::CuttingPlanesStage::volumeGeometryType and LibCarna::presets::CuttingPlanesStage::planeGeometryType.
  • Add LibCarna::base::MeshFactory::createLineStrip.
  • Migrate LibCarna::presets::CuttingPlanesStage to LibCarna::base::ColorMap.

Refactoring

  • Employ LibCarna::Log in LibCarna::LibCarnaException.
  • Rename LibCarna:: MeshRenderingStageBase to LibCarna::MeshRenderingMixin.
  • Rename LibCarna::helpers::VolumeGridHelper::Dimensions to LibCarna::helpers::VolumeGridHelper::Extent.
  • Migrate LibCarna::presets::DVRStage to LibCarna::base::ColorMap.
  • Migrate from millimeters to abstract units.
  • Rename C++ headers from .h to .hpp extension to better comply with standards.
  • Rename DVRStage::translucence to DVRStage::translucency.
  • Rename all ROLE_DEFAULT_* to DEFAULT_ROLE_*

Removed Functionality

  • Remove LibCarna::presets::MIPLayer in favor of support for arbitrary colormaps in LibCarna::presets::MIPStage.
  • Remove previously deprecated LibCarna::base::RenderStage::clone.
  • Remove previously deprecated LibCarna::base::HUVolumeUInt16. Also remove LibCarna::base::HUVolume, LibCarna::base::BufferedHUVolume, and LibCarna::helpers::VolumeGridHelper::loadHUData.
  • Remove LibCarna::base::HUV::abs* and LibCarna::base::HUV::rel* in favor of the newly added LibCarna::base::HUVOffset.

Full Changelog

3.3.3...3.4.0

3.3.3

16 Apr 22:07
bdbc8eb

Choose a tag to compare

What's Changed

  • Fix consistency of software and hardware rendering results in #1
  • Fix GLEW headers in #9
  • Fix FindCarna.cmake.in in #11

Full Changelog: 3.3.2...3.3.3

3.3.2

24 Jun 17:09

Choose a tag to compare

Fixes a six-year-old bug in presets::VolumeRenderingStage which caused rendering artifacts at specific angles when rendering strongly anistropic volumes. There was a work-around previously implemented which, however, was not 100% reliable, and came at the cost of forcing a sample rate twice as high as specified. Since this work-around has been removed now, the specified sample rate is used (which effectively is twice as low as before). This means that same rates must be doubled to yield the same results as before (note that the effective sample rate will be the same then, meaning that rendering performance will be the same, in terms of both quality and time, but without the artifacts). The static field presets::VolumeRenderingStage::DEFAULT_SAMPLE_RATE has thus been doubled.

3.3.1

22 Jun 18:47

Choose a tag to compare

Fixes bug which may have caused volume data being rendered slightly displaced due to padding (up to one voxel).

3.3.0

14 Jun 20:02

Choose a tag to compare

  • Added presets::MaskRenderingStage.
  • Added base::math::computeFastGradient3f.
  • Renamed most occurances of "intensity volume" in attributes/fields/methods to "intensities" to be more consistent with "normals".

3.2.0

10 Jun 14:51

Choose a tag to compare

  • Refactored base/Vertex.h and renamed base::VertexBase to base::PVertex.
  • Added base::VertexPosition and base::PNVertex.
  • Added the solid material shader.
  • Added base::IntensityVolumeUInt16, base::IntensityVolumeUInt8, and base::BufferedIntensityVolume.
  • Marked base::HUVolumeUInt16 as deprecated.
  • Internally, Carna is now intensity-based and not HUV-based any more (since image intensities are a more general concept).
  • HUV is still supported and base::HUV is now a class.
  • base::math::frustum4f now takes the full FOV angle (not the half).

3.1.0

08 Jun 17:30

Choose a tag to compare

  • Linked GLEW statically into the project by included the corresponding source files, since this is the recommended method.
  • Added the BUILD_EGL build switch to build GLEW with EGL support (defaults to OFF).
  • Added base::MeshFactory::createBall.