Releases: ImageEngine/cortex
Releases · ImageEngine/cortex
Version 8.0.0 beta 2
IECore
- WarpOp has a new BoundMode parameter, options are Clamp (previous behaviour) or SetToBlack.
- ImageDiffOp has a new option to offset display windows of the same size to be aligned before comparison.
- Added support to the LensDistortOp for images with offset display window.
- Fixed LensDistortOp bug with non-symmetric distortions.
IECoreHoudini
- Added BoundingBox and PointCloud GeometryType options to SceneCache nodes
- Added AttributeCopy parm to SceneCache SOP. This is used to duplicate attributes before loading to Houdini.
- Exposed SceneCache OBJ parameters to override the transform values coming from disk (Transform tab)
- Moved SceneCache OBJ Push button along with all geometry loading parms to the new Options tab
- Improved performance of SceneCache SOP (Up to 5x faster on a 1500 shapes, 3 million polys asset)
Version 8.0.0 beta 1
IECore
- SceneInterface tags now support upstream/local/downstream tags (using a bit mask filter to query)
- Various fixes for OSX builds
IECoreHoudini
- Fixed multiple transform bug in HoudiniScene
Version 8.0.0 alpha 23
IECore
- Added new logos!
IECoreGL
- Added IECoreGL::glslVersion() function and python binding
- Added IECoreGL::FrameBuffer::frameBuffer() method
- OpenGL 2.1 compatibility fixes
IECoreHoudini
- Added bindings for SceneCacheNode which give access to the SceneInterface directly (or None if invalid)
- HoudiniScene provides python access to registering custom attribute and tag readers
- HoudiniScene now provides access to the world space transformation matrix of the held OBJ node
- Fixing crashes in HoudiniScene when pointing to broken SOPs
- Fixing crashes in SceneCacheWriter when given null attribute data
- Replaced some (but not all) of the misc cow logos with the new Cortex mini-logo
Version 8.0.0 alpha 22
IECoreHoudini
- ParameterisedHolder SOPs have a nameFilter parm (w/ disable toggle)
- These are used to pre-filter each input geometry (or not if toggled off)
- ProceduralHolder outputs a single CortexObject holding its procedural
- OpHolder operates several times per cook, once for each named input shape
- Shapes matching the filter are operated on, and returned as CortexObjects, maintaining their name
- Shapes not matching are passed through unchanged, whether they were normal geo or CortexObjects
- It can be forced to operate only once by disabling the nameFilter or by passing a single named shape
- CortexConverter SOP now operates in both directions (converting between CortexObjects and native geo)
- It also has a nameFilter, with similar pass-through behaviour as the OpHolder
- Changed interface for HoudiniScene custom attribute callbacks
- SceneCache OBJs pass attributes through to HoudiniScene (and therefor SceneCache ROP)
- Added IECoreHoudini.makeMainGLContextCurrent() which is needed for sharing the GL Context with other applications (like Gaffer)
- Fixed bug in HoudiniScene which was creating phony children when FlatGeometry names were similar, but not exact
- Fixed bug in SceneCache SOP when loading Groups or CoordinateSystems without a transform
- Preventing segmentation faults when reading a corrupt SceneCache file
IECoreGL
- Fixed GLSL shaders to work with GLSL version 120 (OpenGL 2.1)
Version 8.0.0 alpha 21
IECoreMaya
- Changing base class for DrawableHolder (from MPxLocatorNode to MPxSurfaceShape ) to solve a selection bug.
Warning: This breaks binary compatibility with any DrawableHolder derived class.
Version 8.0.0 alpha 20
IECore
- Fixed IECore::Lookup for OS X.
- Fixed SceneCache build problem on OS X.
- Fixed unit test in LinkedSceneTest.py ( testLinkBoundTransformMismatch )
IECoreGL
- Fixed IECoreGL::PointsPrimitive crash on OS X.
- Removed IECoreGL/Lights.h.
- Removed IECoreGL/GLUT.h
IECoreHoudini
- SceneCache OBJ Parameter Reorganization (will cause warnings in existing scenes. these can be ignored)
- Added functions to HoudiniScene: node() and embedded()
- Added click Selection of GR_CortexPrimitives
IECoreMaya
- Added FnSceneShape createChild, extracted from expandOnce.
- Changed interface for MayaScene custom attribute callbacks and added bindings for Python.
IECoreNuke
- Fixed bug #4837: "Knobs not found" warning messages.
- Fixed artefacts in LensDistort
Version 8.0.0 alpha 19
IECore
- Removed incorrect assertions from StreamIndexedIO - they were causing crashes in debug builds.
- ComputationCache is more robust in situations where a call to get() yields a different object than was passed to set().
IECoreHoudini
- GEO_CortexPrimitives are now correctly copied and transformed during ObjectMerges.
- TagFilter now prevents unnecessary expansion of SceneCache nodes. In SubNetwork/AllDescendants mode, the tagFilter is used to prevent expansion into branches of the hierarchy that were not requested. For a heavy asset, filtering by a "Proxy" tag was expanding in 25 seconds and creating 22000 nodes. It is now expanding in 3 seconds and creating 3000 nodes.
- SceneCache Xform and Geo nodes now have a tagFilter, and pass it through to matching children during expansion and push. Xfrom still uses it to limit expansion and control visibility. Geo just passes it on to the SOP, which uses it to limit objects loaded.
- Promoted shapeFilter to all SceneCache nodes. SceneCache Xform and Geo just pass it through to the SOP, as with the attributeFilter.
- Added support for reading and writing tags in SceneCaches.
- Optimised SceneCache OBJ expansion time. On a heavy asset, this reduces expansion time from 442.3s (7.38m) to 17.12s.
- Fixed time offset issues caused by Houdini time 0 being at frame 1, whereas it is at frame 0 in Maya, and in SceneInterfaces.
IECoreMaya
- Added a flag to the FnSceneShape create so we can directly create a new sceneShape and transform under a given parent. Used when expanding.
IECoreNuke
- Fixed a bug in LensDistort that was causing the cache to hold incorrect image data.
IECoreGL
- Added ShaderLoader::clear() method, which allows the reloading of GLSL shaders on the fly.
- Added "gl:primitive:selectable" attribute to Renderer.
IECoreRI
- Fixed automatic instancing bug caused by having multiple procedurals in the same RIB file.
- Added workaround for 3delight 11.0 in IECoreRI::Renderer::worldEnd - this allows rerendering to work again.
Version 8.0.0 alpha 18
IECore
- Fixed sample time ordering bug in SceneCache.
- Fixed transform matrix order in Group.globalTransformMatrix().
- Added a new setTopologyUnchecked method to MeshPrimitive, plus lazy computation of min/maxVerticesPerFace.
IECoreGL
- Fixed bugs in interpretation of "color" attribute in IECoreGL.
IECoreMaya
- Fixed a segfault which occured when selecting multiple components of a sceneShape in Maya.
- Fixed maya procedural selection highlighting.
IECoreHoudini
- Optimised SceneCache caching time significantly.
- Simplified FromHoudiniGeometryConverter factory functions.
- Added name parameter to ToHoudiniGeometryConverter.
- FromHoudiniGeometryConverters no longer add the name blindData.
- Added nameFilter to FromHoudiniGeometryConverter python factory function.
- HoudiniGeometryConverters now use Objects rather than VisibleRenderables.
- Added FromHoudiniCortexObjectConverter for converting single GU_CortexPrimitives.
- Added ToHoudiniCortexObjectConverter for creating GU_CortexPrimitives.
- Fixed ToHoudiniGeometryConverter bug where it didn't call incrementMetaCacheCount().
- Added FromHoudiniCompoundObjectConverter. This converts multiple GU_CortexPrimitives, maintaining the naming by storing each one in a CompoundObject.
- Added ToHoudiniCompoundObjectConverter.
- Added non-const access to the object in a Geo_CortexPrimitive.
- Removed unecessary Object copy in SceneCache SOP.
- Removed HoudiniScene::readObject hack for CortexObject prims.
- Updated cob/pdv IO to allow conversion of general Objects and not just VisibleRenderables.
- Fixed ToHoudiniGeometryConverter factory function search order.
- Fixed bug when caching hidden OBJs.
- Added interruptibility to SceneCache ROP.
- Added DetailSplitter class for efficiently extracting select bits of geometry from a GU_Detail.
- Reenabled the loading of multiple ieCoreHoudini plugins.
IECoreRI
- Added "ri:textureCoordinates" attribute to IECoreRI::Renderer. This maps to a call to RiTextureCoordinates.
- Fixed specification of multiple displays via IECoreRI::Renderer::display().
- Added automatic instancing capabilities to IECoreRI::Renderer.
IECoreNuke
- Added support for expressions in LensDistort.
IECoreAlembic
- Fixed IECoreAlembic to use GeometricTypedData appropriately (#28).
Version 8.0.0 alpha 17
IECoreRI
- Added support for ri:areaLight parameter to IECoreRI
IECoreHoudini
- Fixed bug when loading CoordinateSystems in Houdini
Version 8.0.0 alpha 16
IECoreMaya
- Fixed bug in SceneShape compute which prevented drawing on file open/import
IECoreHoudini
- Added ForceObjects parameter to SceneCache ROP (to force what is expanded and what is a link)
- Added a ParticleSystem when converting PointsPrimitives to Houdini
- Fixed point doubling bug with SceneCache SOP loading a PointsPrimitive
- Fixed bug when writing multiple frames of re-rooted scenes
- Fixed HoudiniScene bugs for flattened geometry (SOPs with gaps in the geo hierarchy can now be cached)
- SceneCache tagFilter supports SceneInterfaces with no tags