Skip to content

Releases: ImageEngine/cortex

Cortex 10.7.0.0

Choose a tag to compare

@murraystevenson murraystevenson released this 05 Aug 17:11
e99249e

Features

  • PointInstancer : Added class to provide first-class encoding of point instancers.
  • NanobindConverter : Added new class providing interoperability between Boost Python bindings and Nanobind bindings.

Improvements

  • PrimitiveVariable : Added Python bindings for IndexedView class.
  • USDScene :
    • Added support for writing IECoreScene::PointInstancer as UsdGeomPointInstancer.
    • Added support for reading and writing mesh lights.
    • Added support for pinned curves.
  • CurvesPrimitive :
    • Added Wrap enum, with Periodic, NonPeriodic and Pinned. This generalises the previous periodic boolean property.
    • Added argument names to variableSize() and numSegments() Python bindings, so they can be passed as keywords.
  • CurvesAlgo : Added isPinned() and convertPinnedToNonPeriodic() utilities.
  • Primitive : Added default type to variableData() template method.
  • Canceller :
    • Derived from RefCounted, to allow Cancellers to be shared between multiple clients.
    • Enabled chaining of Cancellers, via addChild() and removeChild() methods and a ScopedChild utility class.
  • MessageHandler : Added msg() overload that accepts a fmt::format_string and arguments.
  • InternedString : Added specialisation for fmt::formatter<InternedString>.
  • TBB : Improved compatibility with oneTBB 2021.
  • Ramp : Added Rampff, RampfColor3f, RampfColor4f and corresponding Ramp*Data classes, for representing user facing shader ramp parameters.

Fixes

  • RunTimeTyped : Fixed unnecessary overhead of runTimeCast() and isInstanceOf() for subclasses implemented in Python. The GIL is now never needed when the cast is to a C++ type.
  • PrimitiveVariable : Made IndexedView begin() and end() const.
  • PointsAlgo :
    • Fixed loss of blind data in deletePoints().
    • Fixed loss of primitive type in deletePoints() (if processing a derived class of PointsPrimitive).
  • CurvesAlgo :
    • Fixed handling of periodic curves in deleteCurves().
    • Fixed resamplePrimitiveVariable() to handle Vertex<->Varying conversion for linear curves correctly.
  • VDBObject : Fixed Python bindings for OpenVDB 12.

Breaking Changes

  • ClassParameter, ClassVectorParameter : Replaced statically allocated TypeIds with ids allocated dynamically by IECore.registerRunTimeTyped(). If the id is needed from C++, it can be queried at runtime with RunTimeTyped::typeIdFromTypeName().
  • RunTimeTyped : Removed typId argument from registerRunTimeTyped() Python function. TypeIds are now always allocated dynamically for Python classes.
  • USD :
    • Removed support for IECOREUSD_POINTINSTANCER_RELATIVE_PROTOTYPES environment variable. Prototype paths are now always specified as relative where possible.
    • Removed ./ prefix from relative prototype paths.
    • UsdGeomPointInstancer inactiveIds are now merged into the invisibleIds primitive variable on loading, instead of being loaded separately.
  • VDBObject : Removed support for OpenVDB 10.0 and earlier.
  • CurvesPrimitive : Made protected members private.
  • HenyeyGreenstein.h : Removed.
  • SweepAndPrune.h : Removed.
  • RadixSort.h : Removed.
  • MessageHandler : Removed support for passing boost::format objects to msg(). Use fmt::format() instead.
  • FileSequence : Removed fileNameTemplate() protected method. Use fileNameForFrame() instead.
  • Canceller : Changed base class.
  • IECore : Removed tbb_task_scheduler_init() Python Context Manager. Use tbb_global_control() instead.
  • ShaderNetworkAlgo :
    • Removed deprecated componentConnectionAdapterLabel(), convertOSLComponentConnections(), collapseSplineParameters(), expandSplineParameters() methods.
    • Switched support for Spline parameters to support for Ramp parameters.

Build

  • LibFormat : Added new dependency on fmt 9.1.0.
  • CI :
    • Updated to GafferHQ/dependencies 11.0.0a8.
    • Build artifacts and releases now include a "-platform##" suffix denoting their target VFX Reference Platform year. This replaces the "gcc" suffix previously used on Linux builds.
  • USD : Added compatibility with USD 25.11 and 26.03.
  • Boost : Removed unnecessary linking of boost_chrono.

Cortex 10.7.0.0a14

Cortex 10.7.0.0a14 Pre-release
Pre-release

Choose a tag to compare

@murraystevenson murraystevenson released this 20 Jul 23:46

Fixes

  • USDScene :
    • Fixed bug writing shader assignments with IECOREUSD_WRITE_CONFORMANT_RENDERMAN_ATTRIBUTES=1 1.
    • Fixed bug reading shader assignments with IECOREUSD_WRITE_CONFORMANT_RENDERMAN_ATTRIBUTES=1 1.
    • Fixed bug reading legacy attributes with IECOREUSD_WRITE_CONFORMANT_RENDERMAN_ATTRIBUTES=1 1.
  1. To be omitted from the notes for the final 10.7.0.0 release. 2 3

Cortex 10.6.7.1

Choose a tag to compare

@murraystevenson murraystevenson released this 20 Jul 23:45

Fixes

  • USDScene :
    • Fixed bug writing shader assignments with IECOREUSD_WRITE_CONFORMANT_RENDERMAN_ATTRIBUTES=1.
    • Fixed bug reading shader assignments with IECOREUSD_WRITE_CONFORMANT_RENDERMAN_ATTRIBUTES=1.
    • Fixed bug reading legacy attributes with IECOREUSD_WRITE_CONFORMANT_RENDERMAN_ATTRIBUTES=1.

Cortex 10.7.0.0a13

Cortex 10.7.0.0a13 Pre-release
Pre-release

Choose a tag to compare

@johnhaddon johnhaddon released this 15 Jul 09:25

Improvements

  • USDScene : Added IECOREUSD_WRITE_CONFORMANT_RENDERMAN_ATTRIBUTES environment variable. If set to a value of 1, this causes "ri:" prefixed attributes to be written as expected by usdRiPxr 1.

Fixes

  • PointInstancer : Fixed signature for setPrototypes() function.
  1. To be omitted from the notes for the final 10.7.0.0 release.

Cortex 10.6.7.0

Choose a tag to compare

@johnhaddon johnhaddon released this 15 Jul 09:16

Improvements

  • USDScene : Added IECOREUSD_WRITE_CONFORMANT_RENDERMAN_ATTRIBUTES environment variable. If set to a value of 1, this causes "ri:" prefixed attributes to be written as expected by usdRiPxr.

Cortex 10.5.18.0

Choose a tag to compare

@ivanimanishi ivanimanishi released this 30 Jun 16:53
ed3d5cb

Improvements

  • ToNukeGeometryConverter :
    • Add support for Color3fData
    • Add support for DoubleData via float casting
    • Silence InternedStringVectorData as unsupported

Cortex 10.7.0.0a12

Cortex 10.7.0.0a12 Pre-release
Pre-release

Choose a tag to compare

@murraystevenson murraystevenson released this 20 Jun 00:55

Improvements

  • USDScene : Added IECOREUSD_WRITE_CONFORMANT_OSL_SHADERS environment variable. If set to a value of 1, this causes OSL shaders to be written in the format expected by RenderMan. Set the RMAN_SHADERPATH environment variable appropriately to ensure RenderMan can find the shaders 1.
  1. To be omitted from the notes for the final 10.7.0.0 release.

Cortex 10.6.6.0

Choose a tag to compare

@murraystevenson murraystevenson released this 20 Jun 00:50

Improvements

  • USDScene : Added IECOREUSD_WRITE_CONFORMANT_OSL_SHADERS environment variable. If set to a value of 1, this causes OSL shaders to be written in the format expected by RenderMan. Set the RMAN_SHADERPATH environment variable appropriately to ensure RenderMan can find the shaders.

Cortex 10.7.0.0a11

Cortex 10.7.0.0a11 Pre-release
Pre-release

Choose a tag to compare

@johnhaddon johnhaddon released this 15 Jun 15:27

Features

  • PointInstancer : Added class to provide first-class encoding of point instancers.

Improvements

  • PrimitiveVariable : Added Python bindings for IndexedView class.
  • USDScene :
    • Added support for writing IECoreScene::PointInstancer as UsdGeomPointInstancer.
    • Added support for reading and writing mesh lights.

Fixes

  • RunTimeTyped : Fixed unnecessary overhead of runTimeCast() and isInstanceOf() for subclasses implemented in Python. The GIL is now never needed when the cast is to a C++ type.
  • PrimitiveVariable : Made IndexedView begin() and end() const.
  • PointsAlgo :
    • Fixed loss of blind data in deletePoints().
    • Fixed loss of primitive type in deletePoints() (if processing a derived class of PointsPrimitive).
  • IECoreGL::Shader : Restored compatibility with OpenGL 2.1 in order to preserve macOS support 1.

Breaking Changes

  • ClassParameter, ClassVectorParameter : Replaced statically allocated TypeIds with ids allocated dynamically by IECore.registerRunTimeTyped(). If the id is needed from C++, it can be queried at runtime with RunTimeTyped::typeIdFromTypeName().
  • RunTimeTyped : Removed typId argument from registerRunTimeTyped() Python function. TypeIds are now always allocated dynamically for Python classes.
  • USD :
    • Removed support for IECOREUSD_POINTINSTANCER_RELATIVE_PROTOTYPES environment variable. Prototype paths are now always specified as relative where possible.
    • Removed ./ prefix from relative prototype paths.
    • UsdGeomPointInstancer inactiveIds are now merged into the invisibleIds primitive variable on loading, instead of being loaded separately.

Build

  • CI : Updated to GafferHQ/dependencies 11.0.0a8.
  1. To be omitted from the notes for the final 10.7.0.0 release.

Cortex 10.5.17.0

Choose a tag to compare

@ivanimanishi ivanimanishi released this 12 Jun 18:48
e37ee75

Improvements

  • IECoreNuke::SceneCacheReader : Added support for writing attributes
  • IECoreNuke::LiveScene : Added support for reading attributes