forked from ImageEngine/cortex
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Changes
3941 lines (2619 loc) · 139 KB
/
Changes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
10.0.0-a67
==========
Fixes
-----
- IECoreMaya SceneShape : Fixed shape evaluation / dirty issue on file load (#1001).
Build
-----
- Run Linux, MacOS, and Windows CI on Azure (#1000).
- Publish MacOS and Linux builds of Cortex via Azure (#1000).
10.0.0-a66
==========
Fixes
-----
- CurvesAlgo : Fixed `updateEndpointMultiplicity()` for bSpline and catmullRom curves (#997).
- IECoreArnold : Automatically resample Vertex primvars to Varying on cubic Curves (#998).
10.0.0-a65
==========
Fixes
-----
- IECoreNuke : Fixed uv coordinate conversion (#999).
10.0.0-a64
==========
Fixes
-----
- IECoreScene : Ensure ShaderNetwork connections are loaded from scc caches (#992).
- IECoreHoudini : Fixed LiveScene PrimGroup to Tag conversion in H17.5 (#993).
10.0.0-a63
==========
Improvements
------------
- IECoreMaya : Added `dagPath()` to `LiveScene` (#991).
Fixes
-----
- IECoreMaya : Fixed bug which enforced a particular rotation order when exporting tranformations (#984).
Build
-----
- SConstruct : Fixed Mac builds (#990).
10.0.0-a62
==========
Improvements
------------
- IECoreMaya : Added "Expand by Tag as Geo..." item to radial menu (#989).
- ToGLStateConverter : Added support for "gl:depthTest" attribute (#985).
Fixes
-----
- Fixed errors when building with the Clang version packaged with XCode 10.2 (#986).
10.0.0-a61
==========
This is the first official release with Windows support. Big thanks to Eric Mehl and Alex Fuller
for their hard work getting the codebase ready for Windows.
Improvements
------------
- IECoreHoudini
- SceneCache ROP, LiveScene, and DetailSplitter now respect Output SOPs with a fallback to the previous
behaviour (SOP render flag) (#978).
- SceneCache OBJs and SOP now provide a visibilityFilter which can be used to prune invisible shapes.
Animated visibility is supported, as is inherited visibility (provided the scene hasn't been re-rooted
or merged into another context). It defaults off for backwards compatibility (#982).
Build
-----
> **Warning** : The default paths for the build options have been removed.
> You will need to specify them on the commandline or via a config file.
- SConstruct now supports Windows (#937).
- Appveyor testing ensures consistent CI on Windows (#937).
10.0.0-a60
==========
Improvements
------------
- ShaderNetwork : Added attribute substitution methods (#971).
- IEDisplay : Added support for PRMan's incremental mode (#973).
- ROP_SceneCacheWriter: Added support for relative node path for rootObject parameter (#976)
10.0.0-a59
==========
Improvements
------------
IECoreNuke :
- Added support for nuke icon, using new icon for nuke menu (#967).
Fixes
-----
- DataAlgo : Fixed `const` form of `dispatch()` (#970).
Build
-----
- Declared Scene test dependency on IECore module (#968).
10.0.0-a58
==========
Improvements
------------
- IECoreHoudini::SOP_SceneCacheSource : Added support for visibility culling (#963).
- IECoreImage::ImageReader : Added support for reading specific mip-map levels (#961).
- IECoreGL::TextureLoader : Added `maximumResolution` argument to `load()` (#961).
- IECoreGL::ShaderStateComponent : Added support for specifying maximum resolution
for texture parameters (#961).
- IECoreAppleseed::EntityPtr : Added smart pointer for handling entities (#903).
- ExceptionBinding (#962) : Added ExceptionClass binding utility. This allows bind C++
exceptions to be bound to Python more fully, so that :
- They can be constructed and raised from Python.
- Type is preserved when translating them into Python, and again when
translating them back outinto C++.
Build
-----
- Fixed problem with undeclared dependency which could cause the IECoreAppleseed tests
to fail (#964).
10.0.0-a57
==========
Improvements
------------
- IECoreHoudini :
- Support for Houdini 17.5 (#958).
- Enable symbol visibility management (#957).
- IE Config : Remove Op wrapppers from the Houdini node menu (#960).
10.0.0-a56
==========
Improvements
------------
- IECoreMaya::LiveScene (#956) :
- `attributeNames` and `readAttribute` now translate double underscore (`__`)
to colon (`:`) when reading "ieAttr_" MPlugs.
- Optionally decoupled Maya visibility from the "scene:visible" attribute.
`readAttribute` will now use a MPlug called "ieVisibility" if it exists,
and otherwise fallback to Maya visibility.
- IECoreMaya : Added FromMayaEnumPlugConverter which can convert to either
ShortData or StringData, using the MPlug category to determine which type
should be returned (#959).
Fixes
-----
- DataTraits : Fixed bug in `dataTypeFromElement()` when using dict elements (#955).
10.0.0-a55
==========
Fixes
-----
- Houdini LiveScene : Fixed potential deadlock when using python expressions with wrangle SOPs (#953).
10.0.0-a54
==========
Improvements
------------
- IECoreArnold::CameraAlgo : Arnold cameras now have a useable field of view value,
and a fixed screen window. This makes them compatible with the standard UV remap
workflow (#952).
- IECoreNuke::SceneCacheReader : Added option for respecting object visibility (#950).
Fixes
-----
- IECoreMaya::SceneShapes : Fixed bug which meant that Viewport 2 isolate select
was not respected (#951).
10.0.0-a53
==========
Build
-----
- Added INSTALL_COREIMAGE_POST_COMMAND and INSTALL_CORESCENE_POST_COMMAND
build options (#949).
- Fixed compilation error on MacOS (#948).
10.0.0-a52
==========
Improvements
------------
- SharedSceneInterfaces : Add methods for controlling cache size (#946).
10.0.0-a51
==========
Fixes
-----
- IECoreScene `deleteFaces/deleteCurves/deletePoints` : Prevent crashes caused by
invalid primitive variables (#942).
- IECoreArnold : Fixed bug when rendering indexed normals (#943).
Build
-----
- Added support for ASAN when using gcc
10.0.0-a50
==========
Improvements
------------
- IECoreScene::MeshAlgo : Added several conectivity based tangent calculations (#925) :
- Calculate tangents based on the first neighbor edge.
- Calculate tangents based on the first two adjacent edges.
- Calculate tangents based on face centroids.
- OpenImageIOAlgo : Added support for Rational V2i in image metadata (#939).
- This fixes a bug when processing images with rational framesPerSecond data which
are exported from Cortex (or Gaffer), then loaded and re-exported through Nuke.
API
---
- IECoreScene::MeshAlgo : Updated original tangent calculation (#925) :
- Renamed `calculateTangents` to `calculateTangentsFromUV` to avoid confusion with
the new methods. The former is kept for backwards compatibility, but is deprecated.
10.0.0-a49
==========
Features
--------
- IECoreScene::MeshAlgo : Added `merge` to combine a list of meshes (#936).
- This was ported from `MeshMergeOp` and updated to maintain corners and creases.
The op is deprecated and has been reimplemented to use the new algo.
Improvements
------------
- MeshPrimitive::createPlane : Added normals (#933).
- MeshPrimitive::createBox : Added normals and UVs (#933).
- MeshAlgo::distributePoints : Updated to support Vertex interpolated UVs (#934).
- MeshAlgo::deleteFaces : Updated to maintain the corners and creases (#936).
- MeshAlgo::triangulate : Updated to maintain the corners and creases (#936).
- MeshAlgo::reorderVertices : Updated to maintain the corners and creases (#936).
- Alembic Writer : Added support for exorting indexed normals (#933).
- IECoreHoudini : Added import/export for corners and creases on polygons (#936).
Fixes
-----
- Canceller : Export symbols for Cancelled class (#932).
- IECoreHoudini : Fixed a bug in the mesh interpolation export for polygons (#936).
API
---
- TBBBinding : Bind `tbb::global_control` (#931).
Breaking Changes
----------------
- IECorePython : Consolidate TBB bindings into one file (#931).
10.0.0-a48
==========
Features
--------
- MeshPrimitive : Added support for subdivision corners and creases (#927).
- Updated SceneCache, IECoreAlembic, and IECoreUSD to read and write corners and creases.
- Updated IECoreMaya to import and export corners and creases.
- Updated IECoreArnold to translate corners and creases for the renderer.
- Noteable missing features are import/export in IECoreHoudini, rendering support in
3delight and Appleseed, as well as some geometry processing via IECoreScene
(eg `triangulate`, `deleteFaces`).
Fixes
-----
- OpenImageIOAlgo : Fix DataView copy constructor and copy assignment (#923).
- Font classes : Support newlines (#928).
- LRUCache : Fix double-release in serial policy (#926).
- ImageReader :
- Hardcode PNG color conversion as sRGB->Linear (#913).
- Support completeness checks on tiled deeps (#929).
Build
-----
- Windows builds are now supported (via MSVC 2017) (#916).
Breaking Changes
----------------
- MeshPrimitive : New members for crease data (#927).
- Windows : There are several symbol visibility changes to allow for the Windows builds (#916).
10.0.0-a47
==========
Improvements
------------
- Houdini SceneCache ROP : Optimized cache times for a variety of real world production scenes (#920).
Fixes
-----
- Houdini SceneCache ROP : Fixed a bug with time-varying hierarchy (#918).
- Houdini LiveScene : Fixed a bug with tag translation (#920).
10.0.0-a46
==========
Features
--------
- MeshAlgo : Added MeshAlgoConnectedVertices (#900).
Fixes
-----
- Houdini SceneCacheSource SOP : Fixed "convert tag to groups" toggle (#915).
- When creating primGroups from tags on each location, we don't want the tagFilter parm
to influence which groups are created. The tagFilters is just about pruning locations.
- Maya Config : Don't load the IE menu when in a batch session (#912).
10.0.0-a45
==========
Features
--------
- StringAlgo : Added path matching functions. These provides equivalent matching to `IECore::PathMatcher`, for use when constructing a `PathMatcher` would be overkill (typically when you only want to match against one path) (#898).
Improvements
------------
- ToHoudiniConverter : Added support for uniform UVs (#907).
Fixes
-----
- VDBObject : Calling `memoryUsage()` no longer forces loading (#901).
- SceneCache : Legacy shader networks stored as `ObjectVectors` are now converted to
`ShaderNetworks` during loading (#905).
10.0.0-a44
==========
Fixes
-----
- Canceller : Fixed Python->C++ conversion for `IECore.Cancelled`. This was broken in
10.0.0-a42 (#896).
- IECoreArnold::CameraAlgo : Fixed bug that tried to set "mesh" camera parameter, even
though it requires special handling outside the converter (#895).
10.0.0-a43
==========
Features
--------
- IECoreScene : Added ShaderNetwork class and ShaderNetworkAlgo namespace with associated
utility functions (#890).
Breaking Changes
----------------
- IECoreAppleseed : Replaced ShaderAlgo with ShaderNetworkAlgo and removed handle
parameter from `ParameterAlgo::convertShaderParameters()` (#890).
- ToGLStateConverter : Removed support for specifying shaders as ObjectVectors, requiring
ShaderNetworks instead (#890).
10.0.0-a42
==========
Improvements
------------
- PrimitiveVariable::IndexedView : Added assignment operator and default
constructor (#893, #894).
Fixes
-----
- SceneInterface : Fixed bug where upper-case file extensions were not recognised (#891).
- Canceller : Fixed Python binding for Cancelled exception class (#886).
- Primitive interpolator : Fixed interpolation of primitive variables with mismatched
indices. Interpolation is now skipped in these cases (#892).
Breaking Changes
----------------
- IECoreArnold : Removed InstancingConverter (#888).
Build
-----
- Added BUILD_TYPE option, with supported values of RELEASE, DEBUG, and
RELWITHDEBUGINFO. This replaces the DEBUG and DEBUGINFO options (#887).
10.0.0-a41
==========
Features
--------
- CurvesAlgo : Added `updateEndpointMultiplicity`, which can be used to add or remove
replicated end points when setting a basis (#877).
- IECoreHoudini : Added export/import between Houdini poly lines (non-closed polygons)
and Cortex CurvesPrimitives with a linear basis (#877).
Improvements
------------
- CubicBasis : Added enum for standard curve cubic bases (#877).
- MeshAlgo::calculateTangents : Added support for vertex interpolated UVs (#879).
- IECoreArnold : Export face varying indices for indexed Vertex varying UVs (#880).
- IECoreMaya : Split skinCluster weights into its own set of converters, with
optional compression to unsigned short data (#883).
Fixes
-----
- MeshMergeOp : Fixed merging of indexed primitive variables (#879).
- VectorTypedData : Fixed bugs with Short and UShortVectorData serialization (#878).
- ToGLCurvesConverter : Fixed crash with indexed uniform primitive variables (#881).
Build
-----
- Added VDB_PYTHON_PATH build option which is used for the IECoreVDB tests (#882).
10.0.0-a40
==========
Improvements
------------
- IECoreMaya : FromMayaParticleConverter : read additional particle attribute names from ieParticleAttributes attribute ( #874 )
10.0.0-a39
==========
Fixes
-----
- IECoreHoudini : Fixed potential crash in Houdini 17.
10.0.0-a38
==========
Fixes
-----
- IECoreHoudini::FromHoudiniGeometryConverter : Fixed GIL management (#862).
- IECore::ToCoreConverter : Fixed GIL management (#862).
- IECoreScene : Reverted parallelisation of mesh triangulation, as it could lead
to deadlock in IECoreGL (#868).
- IECoreMaya : Fixed build for Maya 2018 (#866).
- IECoreMaya::SceneShape : Fixed various VP2.0 bugs (#865)
- Fixed rendering of objects as the SceneShape is transformed
- Fixed root bound highlight rendering
- Optimised rendering when only rendering bounds
- Fixed to respect Maya visibility
10.0.0-a37
==========
Improvements
------------
- IECoreScene::Camera : Improved camera definition for better compatibility
with USD and Alembic, and to improve the user experience. In particular, cameras no longer hold a screenWindow parameter directly, instead defining an aperture and focal length. See API documentation for the Camera class for more
details (#850).
- USDScene : Added support for writing cameras (#850).
Breaking Changes
----------------
- IECoreScene::Camera (#850) :
- Removed `addStandardParameters()` method.
- Removed transform property.
- Removed name property.
- IECoreGL : Removed PerspectiveCamera and OrthographicCamera classes.
Use Camera directly instead (#850).
10.0.0-a36
==========
Improvements
------------
- IECoreMaya : SceneCache Viewport 2.0 rendering improvements (#857)
- Reduced memory usage by caching maya index & vertex buffers
- Prepare Viewport 2.0 vertex data in parallel and only update topology if required
- Reduced queries to maya for shader information
- IECoreScene : Triangulation improvements (#853)
- Parallel implementation of FaceVarying primitive variable expansion
- Parallel MeshPrimitive::setTopology implementation
- TriangulateOp forwards to new MeshAlgo::triangulate function
Fixes
-----
- IECoreScene : Suppress private linkLocation attribute ( #849 )
Build
-----
- Houdini 17.0 Support (#854)
10.0.0-a35
==========
Improvements
-------------
- Houdini LiveScene : Improved performance of Houdini scene publisher callbacks ( #847 )
10.0.0-a34
==========
Improvements
-------------
- Maya SceneShape : Initial support for Viewport 2.0 (#805)
- Note that VP1 support is both deprecated and disabled. It can be re-enabled
by setting CORTEX_SCENESHAPE_MAYA_VP1_SUPPORT prior to Maya startup.
- Note that Instancers (eg MASH) do not work yet.
- Note that SceneShapes far from origin may have selection issues in Maya 2017.
This is resolved in Maya 2018.4
- Houdini LiveScene (#845)
- Support string array detail attributes.
- Issue Error if different prim types have the same name.
Build
-----
- Requires USD 18.09
10.0.0-a33
==========
Improvements
-------------
- Houdini LiveScene : Improved performance of reading houdini scenes ( #843 )
10.0.0-a32
==========
Improvements
------------
- StreamIndexedIO (#813) :
- Indices are now compressed using Blosc.
- Reduced memory allocations used for Directory nodes.
- Maya menus : Added a mechanism to create and access site-specific menus (#839).
- Houdini LiveScene : Reduced overhead of python attribute and tag readers (#841).
Fixes
-----
- FromHoudiniGeometryConverter : The "uv" attribute is now always converted to an
indexed PrimitiveVariable (#838).
- AlembicScene : Fixed crashes caused by concurrent calls to `child()` (#840).
10.0.0-a31
==========
Improvements
------------
- IECoreMaya : Minor changes so we can compile and run against Maya 2018 u4 ( #832 )
- OpenImageIOAlgo::DataView : Support Color4fData and Color4fVectorData ( #833 )
- IECoreHoudini : Remove StringVector binding ( #834 )
- IECoreMaya : removed SystemExitCmd command ( #828 )
Fixes
-----
- VDBObject : support querying float and double metadata ( #835 )
- IECoreScene : isolate tbb parallel task execution in distributePoints ( #831 )
- IECoreHoudini : LiveScene fixes ( #836 )
- Prevent tag groups appearing as primvars
- segfaults when splitting geometry with name primitive attribute.
10.0.0-a30
==========
Improvements
------------
- IECoreScene : non-triangle mesh tangent calculation & support indexed UVs (#817)
Fixes
-----
- IECoreAlembic : Warn rather than raising exception if attempting to write an attribute on the root (#825)
- VDBObject : fix crash when instancing VDBObjects (#826)
- IECoreImage : fix crash when writing formats without data window support (#827)
10.0.0-a29
==========
Improvements
------------
- IECoreAlembic : Added support for scalar attribute read and write (#822).
- IECoreAlembic : Added support for Quaternion primitive variables (#816).
Fixes
-----
- IECoreHoudini : Ensure exported indexed StringVector attributes contain no unreferenced data. (#821)
10.0.0-a28
==========
Improvements
------------
- DataAlgo : Added additional `Args&&...` arguments to `dispatch()` (#815).
- IECoreArnold::CurvesAlgo : Added conversion from the Cortex standard "uv" primitive
variable to the Arnold "curves.uvs" parameter (#818).
- FromMayaInstancerConverter : Now always returns a PointsPrimitive with a "P" primitive
variable, whereas before it could return NullObject or a PointsPrimitive without "P" (#814).
- AlembicScene : Added support for TransformationMatrixdData in `writeTransform()` (#812).
10.0.0-a27
==========
Fixes
-----
- GeometricTypedData: Fixed repr to include interpretation (#806).
- IECoreScene : Maintain intepretation when resampling primitive variables (#808).
- IECoreVDB : Fixed threading bug for deferred reads of VDB files (#809).
- IECoreGL::CachedConverter : Fixed threading bug when `clearUnused()` is used concurrently with `convert()` (#811).
10.0.0-a26
==========
Fixes
-----
- USDScene : Read tags from the set defined on the default prim (#804)
- IECoreHoudini : Convert arbitrarily named UVs to and from Cortex primitives (#803)
- IECore / IECoreScene / IECoreGL / IECorePython : Isolate TBB parallel execution from parent TBB parallel tasks (#801. #802)
Build
-----
- Update IE config to build specific appleseed versions (#807)
10.0.0-a25
==========
Fixes
-----
- Fixed compilation on OSX (#800).
10.0.0-a24
==========
Improvements
------------
- IECoreAppleseed : Updated for Appleseed 1.9.
- IECore : IndexedIO - Optional Blosc compression
- header version number updated to 6
- ```IECORE_STREAMINDEXEDIO_COMPRESSION``` environment variable added to specify compression method and settings
- IndexedIO can be created using an additional *options* parameter to specify compression method and settings.
10.0.0-a23
==========
Improvements
------------
- IECore : DataAlgo - Improved exception message (#793)
- IECoreScene : MeshAlgoWinding - refactored to use new data dispatch. (#792)
- IECoreMaya : PlugConverter (#799)
- MTime, MAngle & MDistance converted as doubles
- Support for short & enum conversion added.
Fixes
-----
- IECoreGL : CachedConverter - Fixed thread safety of deferredRemovals (#798)
- SConstruct : Added dependency of alembic python module on Scene python module. Fixes automated build failures. (#795)
10.0.0-a22
==========
Features
--------
- IECore : Added IndexedIOAlgo, which contains utility functions for performance testing
of IndexedIO streams (#766).
- IECoreScene : Added SceneAlgo, which contains utility functions for performance testing
of SceneInterfaces (#767).
- MeshAlgo : Ported `MeshVertexReorderOp` to `reorderVertices()` (#787).
- The op still exists, but is now deprecated. Use the algo instead.
- Also fixed crash when reordering indexed primitive variables.
Improvements
------------
- MeshAlgo::segment : Improved performance by multithreading (#789).
- CurvesAlgo::segment : Improved performance by multithreading (#789).
- PointsAlgo::segment : Improved performance by multithreading (#789).
Fixes
-----
- MeshAlgo::deleteFaces : Fixed deletion of indexed primitive variables (#779).
- CurvesAlgo::deleteCurves : Fixed deletion of indexed primitive variables (#779).
- PointsAlgo::deletePoints : Fixed deletion of indexed primitive variables (#779).
- MeshPrimitive : Fixed problems with `createSphere()` (#785).
- ImageWriter : Fixed crash when writing JPGs with offet data windows (#791).
10.0.0-a21
==========
Features
--------
- PrimitiveVariable (#783) :
- Added `IndexedView` utility class. This provides transparent
iteration of the data field via the indices field.
- Added `__repr__` to python bindings.
- DataAlgo (#780) :
- Added `dispatch()` method as a replacement for DespatchTypedData. Several
call sites have been updated to use it and DespatchTypedData has been deprecated.
- Added `size()`, `address()`, `trait()` methods.
Improvements
------------
- MeshPrimitive : Create indexed uvs in `createPlane()` (#783).
- IECoreAlembic : Added Cortex version to the header when writing ABCs (#784).
Fixes
-----
- IECoreScene::LinkedScene : Fixed crash when destructing LinkedScenes which link
to IECoreMaya::LiveScenes (#782).
- PrimitiveVariable : Fixed bug where `expandedData()` lost the GeometricInterpretation (#783).
- MeshPrimitiveEvaluator : Fixed evaluation of indexed variables (#783).
- MeshAlgo : Fixed indexed-UV bug in `calculateDistortions()` (#783).
- IECoreArnold::ShapeAlgo : Fixed indexed PrimitiveVariable bug (#783).
- IECoreAlembic : Fixed bug which prevented ABCs writen from Cortex to load in Houdini (#784).
10.0.0-a20
==========
Fixes
-----
- Canceller : Exported symbols for `Cancelled` exception.
10.0.0-a19
==========
Features
--------
- IECore : Added Canceller class, which can be used to cancel long-running
background operations. Note this isn't being used as of yet, but we intend
to use this in various IECoreScene Algos in the near future (#773).
- IECorePython : Added python wrapper for TBB thread scheduler init (#776).
Improvements
------------
- StreamIndexedIO : Improved read performance via platform specific offset reading (#769).
- Use the IECORE_OFFSETREAD_DISABLED environment variable to disable this feature.
- IECoreHoudini::FromHoudiniGeometryConverter : Faster UV welding (#772).
Fixes
-----
- IECore::ConfigLoader : Isolate config files from one another (#770).
- Previously the contextDict allowed variables to leak between configs.
- IECoreMaya::LiveScene : Maya attributes named "ieAttr_*" take precedance
over registered custom attribute functors (#771).
10.0.0-a18
==========
Features
--------
- Added Sets to SceneInterface.
- Reading and writing Sets are currently supported for SceneCache, LinkedScene,
USD (via UsdCollectionAPI), and Alembic (via AbcCollection).
- IECoreMaya, IECoreHoudini, and IECoreVDB do not yet support the new Sets API.
- The aim is for this to replace Tags at some point in the future. For now,
we will support both mechanisms for gathering locations.
- IECoreMaya : LiveScene conversion of Maya Instancers.
- Converts from a Maya Instancer to a Cortex PointsPrimitive.
- Converts primvar names and types to match Cortex conventions.
- Automatically converts id, instanceType, and visibility from double to int.
- Supports Maya 2017 MASH in instancing mode.
Improvements
------------
- IECoreVDB::VDBObject : Introduced lazy loading of VDB grids.
- IECoreGL::Shader : Improve `defaultVertexSource()` for missing N.
- This improves the rendering of PointsPrimitives in GL_POINTS mode.
- PathMatcher :
- Added `size()` method and made `intersection()` method const.
- Timer :
- Updated to the latest boost timer library.
- Added Timer.Mode so wall clock, user cpu or system cpu time can be timed.
- Added ScopedTimer to help with debugging performance issues.
Fixes
-----
- IECoreGL : Fixed wireframe drawing of points and curves.
- This fixes the selection visualisation in Gaffer's viewport when
points are rendered as GL_POINTS and curves are rendered as GL_LINES.
- IECoreImage::ImageWriter : Fixed bug when writing JPGs with a dataWindow
that is larger than the displayWindow.
- MeshPrimitive::createSphere() : Fixed rounding bug for the number of segments.
- MurmurHash : Fixed symbol export for ostream operator
- StringAlgo : Fixed symbol export for `numericSuffix()`
Build
-----
- CMake (experimental) :
- Updated Readme
- Removed requirement for CMakeLists.txt to in root dir
- Added module to locate Blosc
- Added module to locate OpenVDB
- Explicitly set C++11
- Disable unused-local-typedefs warning in debug builds
10.0.0-a17
==========
Improvements
------------
- IECoreScene : Added SceneInterface::Path stream insertion << operator
Fixes
-----
- Build :
- IECoreMaya depends on IECoreScene.
- Update IE config to build with RV specific dependencies.
10.0.0-a16
==========
Improvements
------------
- IECoreHoudini : Dramatically improved performance for SOPs containing large hierarchy of named primitives (#729) :
- LiveScene : Optimized querying of names with a SOP.
- FromHoudiniGeometryConverter : Added "preserveName" and "convertGroupsAsPrimvars" parameters.
- FromHoudiniPointsConverter : Tighten requirements for converting to a PointsPrimitive.
- DetailSplitter : Added option to segment SOP hierarchy using Cortex rather than HDK.
- Removed support for `IECore::Group` conversion.
Fixes
-----
- IECoreUSD : Fixed crash when a USD file fails to load (#742).
- IECoreHoudini : Fixed OpenGL Context issue for Houdini 16.0 & 16.5 Qt5 builds (#741).
- IECoreAppleseed : Use safe_normalize instead of normalize (#739).
10.0.0-a15
==========
Features
--------
- Added mechanism for loading config files during Cortex module startup. Configs
are python files located on paths specified by the CORTEX_STARTUP_PATHS
environment variable (#716).
- IECoreMaya : Added support for multi-attributes in plug converters (#719).
Improvements
------------
- Improved debugging support (#726).
- ImageReader : Added support for deep images in `isComplete()` method (#717).
- ConfigLoader : Made `contextDict` argument optional. This makes it possible to
isolate config files from one another (#722).
- IECoreScene :
- Output : Added const version of `parametersData()` method (#715).
- PrimitiveVariable : Added `throwIfInvalid` argument to `expandedVariableData()`
(#720).
- Primitive Algo : Parallelised segmentation functions (#727).
Fixes
-----
- GLSL FilterAlgo : Fixed filtering of `filteredPulse()` (#737).
- IECoreAppleseed :
- Fixed compilation in debug mode (#725).
- MeshAlgo : Fixed errors caused by 0 length normals in DEBUG builds (#732).
- IECoreMaya : Fixed "Redeclaration of variable" warning in ParameterisedHolderUI
in Maya 2017 (#735).
- IECoreUSD : Fixed writing of bool attributes (#734).
- PrimitiveAlgo : Fixed bug when segmenting on indexed primitive variable (#727).
- MeshAlgo : Fixed crash if `distributePoints()` is called with non-facevarying
UVs. An exception as now thrown instead (#720).
- IECorePython : Fixed handling of Python exceptions in all wrapper classes (#721).
Breaking Changes
----------------
- FromMayaShapeConverter : Removed primVarAttrPrefix parameter. Always use the
"iePrimVar" prefix (#736).
- Removed IECoreMaya::GeometryCombiner (#736).
- Renamed IECoreScene::Display to IECoreScene::Output (#715).
- PrimitiveVariable : Changed signature of `expandedVariableData()`. Source
compatibility is maintained (#720).
- Removed ieMarschnerHair GLSL shader. This was only usable with the
MarschnerLookupTableOp which was removed in Cortex 9 (#714).
10.0.0-a14
==========
Features
--------
- IECoreVDB : Added new library providing interoperability with OpenVDB (#708)
- VDBObject allows VDB grids to be passed around as `IECore::Object`.
- VDBScene provides reading of VDB files via `IECoreScene::SceneInterface`.
Improvements
------------
- SearchPath : Added plaform-agnostic constructor which chooses the correct
separator based on the current platform (';' for Windows, ':' for Linux
and MacOS). Also deprecated all methods which take an explicit separator,
as they are a cross-platform-compatibility trap (#704).
- PrimitiveAlgo : Improved `segment()` methods to take an optional
`segmentValues` argument (#698).
- IECoreAlembic : Added support for velocity on meshes and curves (#706).
- IECoreArnold : Added support for Color4fVectorData primitive variables (#707).
Fixes
-----
- Symbol visibility :
- Removed public headers from IECoreUSD. We were not exporting the symbols
from these because we didn't intend them to be public anyway (#699).
- Exported `convert()` functions from IECoreNuke (#703).