forked from GafferHQ/gaffer
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathChanges
More file actions
6299 lines (4477 loc) · 268 KB
/
Changes
File metadata and controls
6299 lines (4477 loc) · 268 KB
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
0.28.2.1
========
API
---
- ArnoldShader
- Fix `outPlug()` loading bug introduced in 0.28.2.0.
0.28.2.0
========
UI
--
- Fixed incorrect re-use of widgets when swapping plugs with the same name.
Scene
-----
- Fixed context scoping issue during renders.
Arnold
------
- Added curve min_pixel_width and mode attributes.
- Shaders are now re-loadable, and will automatically reload during script load.
Cortex
------
- Fixed incorrect re-use of plugs when swapping parameters with the same name.
API
---
- SceneAlgo
- Fixed context used by `sets()` function.
- RendererAlgo (preview)
- Fixed context used by `RenderSets` class.
- ArnoldShader
- Added keepExistingValue argument to `loadShader()`.
- Added `loadShader()` to serialisation.
- Reusing existing plugs wherever possible.
- CompoundParameterHandler
- Match by parameter object instead of name.
- CompoundPlugValueWidget
- Match by plug object instead of name.
0.28.1.0
========
UI
--
- The 3D Viewer can now look through lights (#1846).
- Prefixed NodeMenu search text for RSL and OSL shaders with ri and osl respectively (#1850).
Arnold
------
- Added support for trace sets (#1847). Any standard gaffer set with a name beginning with "render:" will be exported to Arnold as a trace set.
- Fixed ArnoldDisplacement crash (#1849).
- Added support for a `gaffer.nodeMenu.category` metadata value to customise the shader menu (#1850).
Scene
-----
- Added LightToCamera node (#1846).
API
---
- Context (#1848)
- Added GIL release in `set()` method bindings to
fix potential deadlocks.
- Fixed bug which meant that `remove()` wasn't
emitting `changedSignal()`.
- SceneAlgo
- Added `sets()` overload to compute a subset of all sets.
- RendererAlgo (preview)
- Added RenderSets utility class.
- Modified output methods to take a RenderSets argument.
- ShaderPlug
- Fixed bug involving plugs with no input (#1849).
Build
-----
- Added INSTALL_POST_COMMAND option, to allow custom commands to be run after installation (#1845).
0.28.0.1
========
UI
--
- Viewer
- Construct as invisible to avoid unnecessary updates
- Improved renderer management for shader swatches
- Support reregistration of shader swatch scenes
Scene
-----
- FilterPlug
- Fixed compatibility with legacy SubGraphs and Dots
Arnold
------
- ArnoldShaderBall
- Added threads plug and limited cores used by the shader swatches
Appleseed
---------
- Removed unwanted shaders from Appleseed shader menu
Build
-----
- Resources now install even when not building docs
0.28.0.0
========
UI
--
- Viewer
- Added interactive shader swatches (#1828).
- Added visualisation of Arnold spotlight lens radius (#1835).
- Fixed visualisation of lights aligned to camera (#1835).
- NodeGraph
- Added "Move To" menu items for Dot nodes.
- InteractiveRender
- Added Play/Pause/Stop buttons.
Scene
-----
- Added LightTweaks node (#1829).
- Added ShaderBall node (#1828).
- Added CopyOptions node (#1834).
- Fixed FilterSwitch serialisation bug (#1814, #1815).
Arnold
------
- Added support for shader network inputs to light parameters (#1828).
- Added support for spline shader parameters (#1813).
- Added support for OSL shaders (#1813).
- Added bucketSize and bucketScanning options to ArnoldOptions node (#1827).
- Added ArnoldShaderBall node (#1828).
- Added performance monitor support to ArnoldRender (#1831).
- Improved parameter linking support in renderer backend.
- Fixed crashes caused by trying to use two render nodes at once in the same process (#1818).
Appleseed
---------
- Added AppleseedShaderBall node (#1828).
- Fixed problems with searchpath initialisation (#1828).
RenderMan
---------
- Added RenderManShaderBall node (#1828).
Dispatch
--------
- Fixed performance problems with complex dispatch graphs (#1820).
Image
-----
- Fixed sizing of whitespace in Text node (#1822).
OSL
---
- Fixed problems with OSL_SHADER_PATHS initialisation (#1813).
Documentation
-------------
- Added missing image to "Getting Started" tutorial (#1810).
Build
-----
- Replaced appleseed build options with single APPLESEED_ROOT option (#1812).
API
---
- Scene
- Added FilterPlug (#1815).
- Added ShaderPlug (#1828).
- Deprecated public attributes methods on Shader node.
- Allowed ObjectSource derived classes to define more than one default set (#1821).
- UI
- Added `Gadget::visibilityChangedSignal()` (#1828).
- Arnold
- Added gaffer.plugType metadata support for shader parameters (#1817).
- Monitor
- Added support for NULL argument to Scope class (#1831).
Breaking Changes
----------------
- Added an argument to `GafferArnold::ParameterAlgo::setupPlug()` (#1817).
- Modified ObjectSource virtual methods (#1821).
0.27.1.0
========
Core
----
- Fixed crash caused by using an invalid expression language (#1801).
Arnold
------
- Fixed motion blurred light bug (#1805).
- Fixed overscan rendering (#1803).
OSL
---
- Added support for matrix parameters (#1798, #1800)
API
---
- Replaced cropWindow with renderRegion in new IECoreScenePreview::Renderer::camera().
0.27.0.1
========
UI
--
- ViewportGadget
- Exposed world position to shaders
0.27.0.0
========
Apps
----
- Screengrab (#1793, #1559)
- Added arguments for Viewer and NodeGraph framing
- Added arguments for Viewer and SceneHiearchy expansion and selection
- Added argument for grabbing a single plug from the NodeEditor
Scene
-----
- Fixed SubTree to error when an invalid root is entered (#1786, #1790).
- Added filter input to Set, to define additional paths to add/remove.
Arnold
------
- Added ArnoldMeshLight node (#1787)
- Added ArnoldDisplacement node (#1776)
- Added subdivision attributes to ArnoldAttributes (#1776)
- ArnoldOptions (#1788)
- Added total depth and transparency depth/threshold plugs
- Fixed warnings about unhandled light parameters
- Fixed crashes/errors caused by multiple cameras and a threading
bug (#1785)
- Fixed bogus warning about "ai:log:filename" option.
OSL
---
- Expression (#1791, #1789)
- Fixed string comparison bug
- Fixed bugs when plug names share a common prefix
- Fixed mistaken assignments
- Added support for spline parameters in shaders (#1782)
- Fixed reload button on shader UI
Documenation
------------
- Added basic lighting and rendering tutorial (#1793).
Build
-----
- Fixed debug builds (#1781)
- Added debug builds to Travis tests (#1781)
- Fixed clang compilation error in Serialisation.cpp
API
---
- Made FilteredSceneProcessor subclassable in Python.
Breaking Changes
----------------
- Rederived Set from FilteredSceneProcessor.
- Changed LightVisualiser API
- Added attributeName argument to visualise() virtual method.
- Added attributeName argument to registerLightVisualiser() factory method.
- Changed StandardLightVisualiser metadata prefix convention from
"light:renderer:shaderName" to "renderer:light:shaderName", to
match the ordering of the data as it appears in the scene module
(attributeName:shaderName).
- Light nodes now output IECore::Shader objects rather than IECore::Lights
0.26.0.0
========
Arnold
------
- Added automatic instancing of identical objects (#1775).
- Added support for user attributes (#1775).
- Added support for filter widths in output specifications (#1773).
- Updated subdivision attributes to match Arnold versions 4.2.8.0 and
onwards (#1775).
- Moved path setup to wrapper. This means that `gaffer env kick` can
be used to render a pregenerated ass file (#1774).
UI
--
- NodeGraph
- Added automatic layout of nodes generated by scripts (#1751, #1771).
- Fixed duplicate position plug names (#762).
API
---
- Renamed ExecutableNode to TaskNode (#1767).
- Protected TaskNode internal virtual methods. Use the TaskPlug
methods instead (#1767).
- Replaced OSLRenderer with ShadingEngine (#1770).
- GraphGadget
- Added unpositionedNodes() method (#1751).
Build
-----
- Updated public build to use OSL 1.7.2 and OIIO 1.6.14.
Breaking Changes
-----------------
- Renamed ExecutableNode.
- Protected internal TaskNode methods.
- Replaced OSLRenderer with ShadingEngine.
- Dropped support for OSL versions prior to 1.7.
0.25.1.0
========
Apps
-----------------------------------------------------------------------
- Screengrab
- Support for grabbing the ScriptEditor.
UI
-----------------------------------------------------------------------
- Fixed crash on mouse move over an about-to-become-visible GLWidget.
Scene
-----------------------------------------------------------------------
- Attributes
- Avoided unnecessary dirty propagation.
- Deactivated filter field when in global mode.
- InteractiveRender
- Fixed object visibility bug.
- Fixed context management bugs.
- RenderUI
- Exposing nodules for task plugs.
Image
-----------------------------------------------------------------------
- ImageGadget
- Taking pixel aspect into account when drawing.
- Fixed color inspector for non-square pixels.
Arnold
-----------------------------------------------------------------------
- ArnoldRenderer
- Reusing shaders where possible.
- Ensuring shader nodes are named (uniquely).
- Fixed sharing of attributes between lights.
- Fixed time_samples.
- Fixed default shader override on ExternalProcedurals.
- ArnoldOptions
- Added missing sampling and depth options.
- ArnoldAttributes
- Supporting additional shading attributes.
- "ai:matte", "ai:opaque", "ai:receive_shadows" and "ai:self_shadows"
Documentation
-----------------------------------------------------------------------
- Added scripting tutorials and reference.
- Added bookmarks to config file tutorial.
- Added examples for the "test" app.
- Added OpenVDB license to appendices.
- Renamed "Performance Guidelines" tutorial to "Managing Complexity".
API
-----------------------------------------------------------------------
- ScriptEditor
- Added inputWidget() and execute() methods.
- ImageGadget
- Added pixelAt() method.
- Added missing bindings.
0.25.0.0
========
Apps
-----------------------------------------------------------------------
- Fixed ordering of GAFFER_STARTUP_PATHS, so that custom scripts can
override Gaffer's built in configuration files (#1752).
Scene
-----------------------------------------------------------------------
- Set
- Added support for modifying multiple sets with a single node,
by entering multiple names separated by spaces (#1748).
Arnold
-----------------------------------------------------------------------
- ArnoldRender node now uses the same backend as the
InteractiveArnoldRender node. Rendering is now performed directly
in Gaffer rather than using a procedural (#1755).
- ArnoldShader ( #1758)
- Added support for BYTE and UINT input parameters and VECTOR
and POINT output types.
- Added support for crop windows, overscan and resolution multipliers
(#1744).
Build
-----------------------------------------------------------------------
- Fixed compilation of GafferAppleseed with GCC 5 (#1757).
API
-----------------------------------------------------------------------
- Made IECorePreview module private (#1731).
- Changed default orientation of environment light visualiser (#1749).
- Fixed SceneAlgo::camera() when "option:render:camera" is "".
Incompatibilities
-----------------------------------------------------------------------
- Made IECoreScenePreview private.
- ArnoldRender node no longer has a verbosity plug.
- Changed default orientation of environment light visualiser.
0.24.1.0
========
Core
-----------------------------------------------------------------------
- Fixed performance of acceptsInput() for serial Switch networks (#1722)
- Context now uses GeometricTypedData where appropriate.
- Disallow setting user defaults on nodes in nodes.
- Fixed serialization of dynamic TransformPlug
UI
-----------------------------------------------------------------------
- Improved picking of "backwards" connections.
Apps
-----------------------------------------------------------------------
- Added basic documentation.
Scene
-----------------------------------------------------------------------
- Updated several nodes to register metadata in one shot with `registerNode()`
- SceneView
- Fixed drawing mode.
- Added controls for curve drawing.
- Using uninterpolated GL lines by default.
- Restored default base state in SceneGadget.
- GafferScene
- Added preview of new Cortex Renderer API.
- Added preview of RendererAlgo for new Renderer API.
- Added preview of new InteractiveRender node.
- SceneAlgo
- Added `globalAttributes()` function.
- SceneNode
- Reduced unnecessary dirty signalling.
Image
-----------------------------------------------------------------------
- Removed unnecessary `UVWarp::Engine::hash()` method.
- ImageWriter can now be subclassed in Python.
OSL
-----------------------------------------------------------------------
- Updated OSLShaderUI to register metadata in one shot with `registerNode()`
- OSL Expressions now support V3f data from the Context.
Arnold
-----------------------------------------------------------------------
- ArnoldOptions
- Added licensing section.
- Added basic support for controlling render logs.
- Added preview of IECoreArnold ShaderAlgo.
- Added preview of IECoreArnold ProceduralAlgo.
- Added preview of new IECoreArnold Renderer.
- Added InteractiveArnoldRender node.
- Added support for Arnold matrix parameters as M44fPlugs
RenderMan
-----------------------------------------------------------------------
- Remove deprecated RenderManShaderUI class
- Updated RenderMan shaders to register metadata in one shot with `registerNode()`
0.24.0.0
========
UI
-----------------------------------------------------------------------
- Added node reference documentation menu item to NodeEditor tool menus.
- GafferUI.Collapsible supports Widget.reveal().
- ScriptWindow no longer stops the EventLoop if it's already stopped.
- Fixed PathWidget WeakMethod error at shutdown.
Scene
-----------------------------------------------------------------------
- Improved error messages emitted by Group node.
Image
-----------------------------------------------------------------------
- Fixed UVWarp crash triggered by negative data window origins (#1707).
OSL
-----------------------------------------------------------------------
- Fixed crash when deleting connections to an OSL expression (#1695).
- Added support for BoolPlugs in OSL expressions (#1697).
Dispatch
-----------------------------------------------------------------------
- Stopped SystemCommand swallowing the stdout of launched processes
(#1712).
- Disabled automatic substitutions for command (#1692). This was broken
by #1671.
- Added LocalDispatcher environmentCommand plug.
Arnold
-----------------------------------------------------------------------
- Added ArnoldVDB node (#1711).
- Added volume step size to ArnoldAttributes node (#1694).
- Fixed metadata for ArnoldLight UIs (#1696).
- Added "ai:threads" option
- Exposed via ArnoldOptions under the Performance section.
- ArnoldRender uses ai:threads option to drive kick -t command line arg.
Apps
-----------------------------------------------------------------------
- Removed procedural app
- Screengrab app
- Added `-editor` argument
- Added `-selection` argument
- Added `-nodeEditor.reveal` argument
- Fix crashes at shutdown
Documentation
-----------------------------------------------------------------------
- Introduced HTML documentation which is shipped with every Gaffer
release (#1702, #1708, #1710).
- Mentioned PerformanceMonitor.
Build
-----------------------------------------------------------------------
- Simplified packaging. Use the gafferDependencies project if the
dependencies are needed for your build.
- Convert BUILD_DIR to an absolute path.
API
-----------------------------------------------------------------------
- View (#1713)
- Removed View3D and ObjectView derived classes.
- Removed update() and updateRequestSignal() methods.
- Added DocumentationAlgo namespace with functions to assist in
auto-generating documentation.
- Removed CompoundPlug usage from Shader nodes (#1701).
- Added **kw arguments to all Widget constructors.
- Removed deprecated Widget keyword arguments(#655, #1704).
- Removed all use of deprecated IECorePython::Wrapper (#1116, #1703).
- Removed deprecated `ValuePlug::inCompute()` method. Use `Process::current()`
instead.
- Removed deprecated `Filter::matchPlug()` method. Use `Filter::outPlug()`
instead.
- Removed deprecated SignalBinder class. Use SignalClass instead.
- Removed deprecated iterator methods. Use `Iterator::done()` instead.
0.23.2.0
========
Apps
-----------------------------------------------------------------------
- Stats
- Fixed bug which caused errors when there were no items to print
in a particular category (#1667).
- Added -performanceMonitor flag, which outputs in depth statistics
for use in analysing and optimising performance (#1668).
- Added -image flag for outputting image statistics (#1680).
UI
-----------------------------------------------------------------------
- Added back "Remove Input" menu option for promoted plugs. This differs
from the "Unpromote" option in that it breaks the connection but keeps
the promoted plug on the outside of the box (#1678).
- NodeGraph (#1679)
- Tightened rules for inserting nodes into noodles. Nodes are now only
inserted when disabling the inserted node would create a pass-through
equivalent to the original connection, and deleting the node will
restore the original connection. Previously nodes could be inserted
in such a way that one end of the connection was broken, or two new
connections were made which had no logical in->out connection through
the inserted node.
- Stopped highlighting connections when hovering in their middle, where
they cannot be dragged anyway.
- Made it harder to accidentally drag a long connection by grabbing it
in the middle - the sensitive section is now limited to a shorter
segment near the end.
Scene
-----------------------------------------------------------------------
- Improved output of objects and transforms which are static, but for
which motion blur has been requested via StandardAttributes. Motion
blocks are now omitted when no motion is detected (#1662).
- ScriptProcedural (#1676)
- Fixed clearing of caches after procedural expansion in Arnold.
- Improved error reporting to include the node which caused the
error.
- Added support for performance monitoring.
- StandardOptions
- Added new performanceMonitor option, which enables/disables the
performance monitoring now supported by the ScriptProcedural
(#1676).
- Duplicate
- Optimised set name computation. This knocks 35% off the time
to compute a set in a custom downstream node with certain
suboptimal qualities (#1682).
- Fixed hangs caused by missing GIL management in SceneAlgo
bindings (#1686, #1687).
Dispatch
-----------------------------------------------------------------------
- ExecutableNodes now support automatic substitution of variables in
StringPlug values, in the same way as has always been supported
by other node types (#887, #1671).
- Fixed order of dispatch when postTasks exist (#1675).
Arnold
-----------------------------------------------------------------------
- Removed use of deprecated UI APIs. Specifically,
`PlugValueWidget.registerCreator()` has been deprecated, and all code
should use the equivalent "plugValueWidget:type" metadata instead
(#1673).
RenderMan
-----------------------------------------------------------------------
- Added initial support for using OSL shaders in 3delight.
Appleseed
-----------------------------------------------------------------------
- Updated to [Appleseed 1.4.0-beta](https://github.com/appleseedhq/appleseed/releases/tag/1.4.0-beta).
- Renamed volume priority attribute to medium priority.
Cortex
-----------------------------------------------------------------------
- Fixed UI error when launching a ClassVectorParameter UI with
preexisting child parameters (#665, #1670).
Documentation
-----------------------------------------------------------------------
- Added GafferDispatch to the API docs.
API
-----------------------------------------------------------------------
- Added Process and Monitor classes. Processes expose internal
processes such as ComputeNode::compute() and ComputeNode::hash()
to Monitors - classes which can observe the internal workings of
Gaffer via the exposed Processes (#1668).
- Added PerformanceMonitor class. This uses the Monitor/Process
API to collect statistics useful in analysing and optimising
performance (#1668).
- RendererAlgo
- Added outputObject() method (#1662).
- Added outputTransform() method (#1662).
- ValuePlug
- Deprecated inCompute() method - use Process::current() instead
(#1668).
- FormatData
- Added workaround for unstable hash() method when compiling with
GCC 4.4.7 (#1669).
- ExecutableNode
- Moved public interface to TaskPlug. The ExecutableNode virtual
interface is now considered to be protected, and will be made
so in a future release.
- ScenePlug
- Fixed python binding for pathToString().
- Added helpers for accessing globals and set names. These manage
the context such that it is friendlier to the hash cache, by
removing variables we know to change frequently but which cannot
affect the result #(1683).
Build
-----------------------------------------------------------------------
- Updated Cortex to version 9.8.0.
- Updated Appleseed version to 1.4.0-beta.
0.23.1.0
========
Apps
-----------------------------------------------------------------------
- Stats App
- Added outputs for scene traversal time and memory usage.
Core
-----------------------------------------------------------------------
- Improved performance of the computation cache, particularly when under
heavy multithreaded load (#1638).
- Fixed GIL lock issues.
- CompoundDataPlug releases when adding child plugs.
- GraphComponent releases when adding/removing children.
- Reference releases in load().
- Switch
- Add SwitchTraits<BaseType> to control context for index evaluation.
UI
-----------------------------------------------------------------------
- SceneHierarchy
- Added search field (#1572, #1649).
- Added set filter (#48, #1649).
- NodeEditor
- Improved error handling for labels and multiline text fields (#1650).
- NodeGraph
- Fix "Find..." shortcut.
- SceneInspector
- Fixed labelling of CoordinateSystem sets (#1648).
- ExecutableNode
- Fixed UI for individually promoted pre/post tasks (#1647).
- UIEditor
- Add label field to plug section.
- GLWidget
- Supports use in Maya when using PySide.
Scene
-----------------------------------------------------------------------
- ScenePlug
- set() and setHash() are friendlier to the hash cache.
- SceneSwitch
- Removed scene:path from context for index.
- FilterProcessor
- Implement pass-through when disabled.
- PathFilter
- Fixed bugs which treated empty paths as "/" rather than ignoring them (#1642)
- Avoid unnecessary hashing of __pathMatcher plug.
- Set
- Fixed bugs which treated empty paths as "/" rather than ignoring them (#1642)
- SetFilter
- Remove unnecessary context manipulation..
- DeleteSets
- Fixed bug which could pass-through a deleted set.
- Isolate/Prune
- Fixed bugs which caused incorrect results when used with a
particular custom filter outside of Gaffer (#1652).
- Shader
- Fixed crashes caused by cyclic connections in shader networks (#1646).
- Fixed GIL lock issues.
- Outputs releases in addOutput().
Image
-----------------------------------------------------------------------
- Warp
- Added Warp base class.
- Added UVWarp node.
- BufferAlgo
- Added index() function.
- ImageSwitch
- Removed tile variables from context for index.
RenderMan
-----------------------------------------------------------------------
- Fixed GIL lock issues.
- RenderManShader releases in loadShader().
API
-----------------------------------------------------------------------
- PathMatcher
- Fixed bugs which treated empty paths as "/" rather than as empty (#1642).
- SceneAlgo
- Added PathMatcher overloads for `filteredParallelTraverse()` and
`matchingPaths()` (#1649).
- MultiLineTextWidget
- Added `setErrored()/getErrored()` methods to (#1650).
- MultiLineStringPlugValueWidget/LabelPlugValueWidget
- Added error handling (#1650).
- ExecutableNode
- Disabled nodule creation by default for all but TaskPlugs. Nodules
can be explicitly reenabled using a ( "nodule:type", "GafferUI.StandardNodule" )
metadata registration for a particular plug.
- DownstreamIterator/RecursiveChildIterators
- Fixed API for completion of iteration.
- FilteredChildIterator
- Added done() method.
- TypedObjectPlug bindings : Add _copy argument to defaultValue() method.
Build
-----------------------------------------------------------------------
- GafferUI now links to QtOpenGL
0.23.0.1
========
Cortex
-----------------------------------------------------------------------
- Fixed ParameterisedHolder::parameterChanged() exception handling.
0.23.0.0
========
Core
-----------------------------------------------------------------------
- Reverted cyclic connection check on plug connection
- Reduced hash cache clearing frequency to speed up instancing.
UI
-----------------------------------------------------------------------
- Fixed labelling of renamed plugs which had a custom label. The label
is now removed by the rename operation (#1635).
Scene
-----------------------------------------------------------------------
- Improved set performance and memory usage significantly for all node
types (#1623).
- Added a MeshToPoints node (#1640).
- Added sets support in the Duplicate node (#1623).
Arnold
-----------------------------------------------------------------------
- Added support for motion blur, courtesy of Cortex 9.7.0.
API
-----------------------------------------------------------------------
- Fixed python bindings to accept any iterable where previously only
lists were accepted (#1634).
- ScriptWindow
- Added createIfNecessary argument to ScriptWindow.acquire() (#1639).
- NameLabel (#1635)
- Exposed default formatter.
- Deprecated setText().
- PathMatcher (#1623)
- Reimplemented using lazy-copy-on-write sharing.
- Added addPaths() overload with prefix path.
- Added subTree() method.
- Added `RawIterator find( path )` method.
Build
-----------------------------------------------------------------------
- Updated release builds to Cortex 9.7.0.
- Updated OCIO build to be compatible with Maya. It should now be
possible to run a standard Gaffer build from within Maya.
Incompatibilities
-----------------------------------------------------------------------
- PathMatcher binary compatibility changes.
# 0.22.0.0
==========
This release brings support for dispatching via Pixar's Tractor, in
additional to the usual medley of bug fixes and optimisations.
Core
-----------------------------------------------------------------------
- Prevented the creation of cyclic connections (#1630).
UI
-----------------------------------------------------------------------
- Fixed bugs in "Set Key" plug menu item.
- Fixed Backdrop node positioning when creating a backdrop with no
nodes selected (#1625).
- Fixed NodeEditor layout problems caused by long summaries (#1629).
Scene
-----------------------------------------------------------------------
- SceneProcedural (#1615)
- Fixed bug which could cause motion blurred bounding
boxes to be computed incorrectly.
- Removed duplicate attribute computations. This shaves
9% off the time to first pixel for a complex benchmark scene.
RenderMan
-----------------------------------------------------------------------
- Improved time to first pixel for raytraced 3delight renders (#1614).
Arnold
-----------------------------------------------------------------------
- Fixed warnings about inaccurate bounds (#1614).
Appleseed
-----------------------------------------------------------------------
- Added support for volume priority attribute (#1631).
Tractor
-----------------------------------------------------------------------
- Added a new GafferTractor module, which enables dispatching of
Gaffer's task graphs to renderfarms running Pixar's Tractor (#1619).
Cortex
-----------------------------------------------------------------------
- Fixed UI for promoted presets parameters (#1624).
- Fixed parameter ordering in UI (#1627).
API
-----------------------------------------------------------------------
- ValuePlug
- Prevented the addition of children which are not themselves
ValuePlugs.
- Allowed subclassing in Python.