Skip to content

Releases: ImageEngine/cortex

Cortex 10.5.3.0

03 Nov 09:28
Compare
Choose a tag to compare

Improvements

  • OpenImageIOAlgo : Added support for InternedStringVectorData to DataView.

Build

  • Windows : Fixed include order.

Cortex 10.5.2.1

17 Oct 17:03
2795c41
Compare
Choose a tag to compare

Build

  • SConstruct : Make sure VDB includes can be found
  • USDScene : Fix build for older USD versions

Cortex 10.5.2.0

15 Sep 10:29
Compare
Choose a tag to compare

Improvements

  • USD PrimitiveAlgo : Added readPrimitiveVariable() utility method for reading from regular UsdAttributes.
  • USDScene : Added support for reading from in-memory stages by passing a filename of the form stageCache:{id}.usd where {id} specifies a stage which has been inserted in the UsdUtilsStageCache.

Fixes

  • USDScene :
    • Fixed handling of invalid values on the following attributes :
      • PointBased : positions, normals, velocities, accelerations.
      • Curves : widths.
      • PointInstancer : ids, protoIndices, orientations, scales, velocities, accelerations, angularVelocities.
      • Points : ids, widths.
        Invalid values are now ignored with a warning, instead of loading as invalid primitive variables.
    • Fixed treatment of unconnected material outputs during reading. If they were "authored" but not connected to a source, they were incorrectly being treated as valid attributes, and loading as empty ShaderNetworks which caused problems elsewhere.
  • ToMayaMeshConverter : No longer locks normals set on the Mesh from the scc.

Breaking Changes

  • IECoreMaya : Maya meshes converted from Cortex data no longer have normals set explicitly and instead relies on Maya to calculate them.

Cortex 10.4.10.3

15 Sep 10:08
Compare
Choose a tag to compare

Fixes

  • USDScene : Fixed treatment of unconnected material outputs during reading. If they were "authored" but not connected to a source, they were incorrectly being treated as valid attributes, and loading as empty ShaderNetworks which caused problems elsewhere.

Cortex 10.5.1.0

09 Aug 08:43
Compare
Choose a tag to compare

Improvements

  • USDScene : Added limited support for reading and writing Volume prims via IECoreVDB::VDBObject.

Fixes

  • USDScene : Fixed writing of lights so they are represented as appropriate UsdLux*Light prims in USD.
  • FrameRange : Prevented creation of FrameRanges with negative steps
  • IECore.dataTypeFromElement : Fixed support for list to Vector conversions
  • LinkedScene : Fixed bug where linkLocations attribute was baked incorrectly if the link target location wasn't the ROOT
    • This in turn caused LinkedScene::setNames() and LinkedScene::readSet() to error
  • IECoreNuke::FromNukePointsConverter : Use Color3f instead of Color4f to be compatible with Gaffer
  • IECoreNuke::SceneCacheReader : Fixed crash with SceneCacheReader when widget updates while Caribou updates

Cortex 10.4.10.2

21 Jul 16:30
0c0e768
Compare
Choose a tag to compare

Fixes

  • LinkedScene : Fixed bug where linkLocations attribute was baked incorrectly if the link target location wasn't the ROOT
    • This in turn caused LinkedScene::setNames() and LinkedScene::readSet() to error
  • IECoreNuke::FromNukePointsConverter : Use Color3f instead of Color4f to be compatible with Gaffer
  • IECoreNuke::SceneCacheReader : Fixed crash with SceneCacheReader when widget updates while Caribou updates

Cortex 10.4.10.1

17 Jul 16:27
43d779d
Compare
Choose a tag to compare

Fixes

  • FrameRange : Prevented creation of FrameRanges with negative steps
  • IECore.dataTypeFromElement : Fixed support for list to Vector conversions

Cortex 10.5.0.0

10 Jul 10:44
Compare
Choose a tag to compare

Features

  • MeshAlgo :
    • Added new algorithms for computing mesh normals : calculateUniformNormals(), calculateVertexNormals() and calculateFaceVaryingNormals().
    • Added correspondingFaceVertices() method.

Improvements

  • MeshAlgo distributePoints() :
    • Added support for density primitive variable values above 1.
    • Added sampling of arbitrary primitive variables via the new primitiveVariables parameter.
    • Improved accuracy.
    • Improved performance.
  • MeshAlgo triangulate() : Improved performance.
  • MeshAlgo connectedVertices() : Improved performance.

Fixes

  • MeshAlgo distributePoints() :
    • Fixed duplicate points at triangle edges.
    • Fixed handling of points exactly at the density threshold.
  • TriangleAlgo :
    • triangleClosestBarycentric() : Fixed numerical precision bug.
    • triangleContainsPoint() : Fixed handling of zero-area triangles.
  • PolygonVertexIterator : Fixed to use std::iterator_traits so that raw pointers are supported.

Breaking Changes

  • IECoreAppleseed : Removed. With Appleseed's removal from Gaffer 1.3.0.0 Cortex no longer provides IECoreAppleseed.
  • Python : Removed support for Python 2.
  • Primitive : Changed variableIndexedView() return type from boost::optional to std::optional.
  • MeshAlgo distributePoints() :
    • Changed function signature.
    • Bug fixes mean subtle changes to the resulting points.

Cortex 10.4.10.0

22 Jun 19:12
225c6fa
Compare
Choose a tag to compare

Improvements

  • IECoreNuke::LiveScene :
    • Adding caching to speed up querying Nuke's GeometryList for large hierarchy
    • Support for ParticleSprite
    • setOp method to avoid re creating LiveScene from scratch

Fixes

  • IECoreMaya.SceneShape : Fixed reading of time samples for expanded link locations
    • Traverse the time plug connections to check for a maya global time connection
  • CheckedGILRelease : Safe to call if thread doesn't hold the GIL
  • IECoreNuke::SceneCacheReader : release GIL during _validate to avoid crash with Caribou
  • IECoreNuke::LiveScene :
    • Fix crash when there is not input GeoOp.
    • Fix uninitialized bounds
    • Fix bug with duplicated parents
    • Fix bug when querying children combined between multiple parents

Cortex 10.4.9.1

12 Jun 10:12
Compare
Choose a tag to compare

Fixes

  • USDScene : Fixed hash clashes when the same USD file containing instanceable prims was opened a second time. Because USD doesn't assign prototypes deterministically, hashes would be shuffled between prototypes, yielding inconsistencies between the hashes for the two scenes. Hashes are now completely unique from scene-to-scene, so no locations can have clashing hashes.