Skip to content

Commit

Permalink
Merge branch 'ie_master'
Browse files Browse the repository at this point in the history
  • Loading branch information
ericmehl committed Jun 23, 2019
2 parents d35e66d + 4b1986a commit 8acec64
Show file tree
Hide file tree
Showing 523 changed files with 24,052 additions and 4,485 deletions.
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@ about: Create a report to help us improve
Provide a description of the problem/bug


### Steps to Reproduce ###
### Steps to reproduce ###

1. List the steps required for others to reproduce the issue


### Debug Log ###
### Debug log ###

<details>
<summary>Click to Expand</summary><p>
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,4 @@ doc/python
config.log
.idea
.sconf_temp
.gafferBackups
6 changes: 3 additions & 3 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Code of Conduct #

## Our Pledge ##
## Our pledge ##

In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
Expand All @@ -10,7 +10,7 @@ education, socio-economic status, nationality, personal appearance, race,
religion, or sexual identity and orientation.


## Our Standards ##
## Our standards ##

Examples of behavior that contributes to creating a positive environment
include:
Expand All @@ -33,7 +33,7 @@ Examples of unacceptable behavior by participants include:
professional setting


## Our Responsibilities ##
## Our responsibilities ##

Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
Expand Down
10 changes: 5 additions & 5 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ The Gaffer team always welcomes quality contributions and issue reports. The fol
Feel free to join the discussion on the [Gaffer community group](https://groups.google.com/forum/#!forum/gaffer-dev). It is the main public space for Gaffer-related questions, issues, and requests. If you are new to Gaffer development, we recommend browsing the latest discussions to develop a sense for the current priorities and familiarize yourself with the development flow.


## Reporting Bugs ##
## Reporting bugs ##

If you discover behaviour in Gaffer that you suspect is a bug, first:

Expand All @@ -21,9 +21,9 @@ If your Issue requires a debug log, you must run Gaffer in a debugger (GDB) and
3. When an error or a crash occurs, copy the output of the log.


## Contributing Code ##
## Contributing code ##

### Pull Requests ###
### Pull requests ###

If you have a fork of Gaffer and have made improvements, and you would like to see them merged with the main project, you can create a new [Pull Request](https://github.com/GafferHQ/gaffer/pulls) (PR). Make sure to fill out the PR template on GitHub.

Expand All @@ -45,15 +45,15 @@ Each commit in your PR must perform one logically distinct set of changes. It mu
We have several message best practices, which, if followed, result in a succinct, informative commit history that can be natively displayed in a variety of disparate protocols and applications, such as email and IDEs. The goal is for anyone to be able to look through the commit log on its own and have a reasonably detailed idea of what was changed and why.


#### Commit Message Best Practices ####
#### Commit message best practices ####

- Each line of the message should be 72 characters or less.
- The first line's message should start with the name of the module or area of the project being affected, followed by a space, a colon, another space, and finally by a _general_ description. Example: `Interface : Add MyButton`.
- If the message is multi-line, the second line should be blank, to preserve formatting.
- If the commit makes several small but important changes, list them line-by-line, with each line starting with a hyphen followed by a space, followed by a description of the change.


### Example Commits for a New Feature ###
### Example commits for a new Feature ###

#### Commit 1 ####

Expand Down
146 changes: 143 additions & 3 deletions Changes
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,37 @@
> being available separately by setting the `GAFFEROSL_OSLOBJECT_CONTEXTCOMPATIBILITY` environment
> variable to `1`.

Features
--------

- Extended support for Arnold's light filters by adding blockers (#3020) :
- Added new node representing Arnold's blockers.
- Added attribute for specifying filtered lights to StandardAttributes node.
- Added special visualisation for blockers.
- SetVisualiser node : Added node allowing to visualise set membership in the Viewer (#3117).
- ExtensionAlgo : Added mechanism to export Boxes as Gaffer extensions via `exportExtension()` (#3158).
- Gaffer extensions each define a new node type and are automatically integrated into the node menu.

Improvements
------------

- Viewer : Prioritised update of objects being manipulated resulting in much more fluid update (#3144).
- CompoundEditor : Improved tab management (#3179).
- Tabs can now be drag re-arranged, detached into new windows and closed/detached using a context menu.
- Layouts will now store and recall detached panels, and all positions, sizes and maximised/full screen state.
- Menu search (#2986) :
- Added an improved "fuzzy matching" search algorithm.
- Added an error indicator when a search matches nothing.
- Text : Added support for unicode characters (#2999).
- TextWidget/MultiLineTextWidget : Added support for unicode characters. In this
case the `getText()` method will return a UTF8 encoded string (#2999).
- PythonCommand : Improved performance (#3029).
- GraphEditor : Added support for arbitrary node annotations specified by metadata.
Use "annotation:<name>:text" to specify the text to render, and "annotation:<name>:color"
to specify an associated colour (#3028).
- GraphEditor :
- Added support for arbitrary node annotations specified by metadata.
Use "annotation:<name>:text" to specify the text to render, and "annotation:<name>:color"
to specify an associated colour (#3028).
- Added Ctrl-Drag functionality to deselect nodes (#3090).
- Made it show the root instead of removing the GraphEditor when the viewed Box is deleted (#3163).
- Stats app :
- Added `annotatedScript` argument to allow the saving of the script with
monitor annotations added to it (#3028).
Expand All @@ -34,6 +55,7 @@ Improvements
- Added support for render output profiling via `-scene` argument (#3053).
- Added a `-contextSanitiser` argument, used to check for common context handling
errors (#3060).
- Added entries for SharedSceneInterface limits and usage (#3126).
- ArnoldTextureBake (#3026) : Added optional median filter.
- Hash cache (#3033) : Reduced memory usage and improved performance.
- GraphComponent : Reduced memory usage and improved script loading times (#3080).
Expand All @@ -42,6 +64,19 @@ Improvements
by scene location (via the "scene:path" context variable) (#3074).
- OSLImage : Improved performance of shader input evaluation (#3074).
- OSLObject : Improved performance of shader input evaluation (#3074).
- AnimationEditor : Improved behaviour of the plug listing (#3106).
- Only selected nodes are shown, not their descendants.
- The ancestor node hierarchy is not shown redundantly.
- Improved performance.
- Test app :
- All tests are now run by default (#3101).
- Added support for detecting performance regression/improvement (#3127).
- MeshTangents : Added support for additional computation modes (#3030).
- GafferImageUI: Added DWA compression presets (#3153).
- Numeric Bookmarks : Added serialisation to preserve numeric bookmarks across sessions (#3157).
- SetExpressions : Added support for wildcard characters in set names (#3172).
- Lights : Added "visualiserScale" setting in new "Visualisation" tab (#3180).
- StandardLightVisualiser : By setting "visualiserScale" to 0 all visualisation computations can now be avoided (#3178).

Fixes
-----
Expand All @@ -64,6 +99,15 @@ Fixes
- Scene : Fixed context handling bugs in Transform, SceneWriter, SceneAlgo, Set,
Isolate and Prune. This improves performance on some complex scenes (#3060).
- Offset : Fixed context handling bug (#3073).
- AnimationEditor (#3106) :
- Fixed visibility glitch in timeline hover indicator. It wasn't being
hidden when the mouse left the editor.
- Fixed bug when deselecting a curve - the plug listing selection was not being updated
to reflect the change.
- PythonCommand : Prevented inadvertent modification of outer context (#3101).
- Fixed widget signal/slot lifetime issues (#3179).
- Using ScopedConnections is no longer needed as `Widget` now derives from `Trackable`.
- ScopedConnections can still be used when wanting to replace connections on the fly.

Documentation
-------------
Expand All @@ -73,6 +117,13 @@ Documentation
- Added a "Camera" section to "Working with Scenes" which covers usage and task information
about the Camera node, manipulating camera objects, the CameraTweaks node, render overrides,
and demos of a spherical and anamorphic camera setup (#3050).
- Added "Light Linking" which shows how light linking is set up and runs through an example
scenario that would necessitate light links (#3114).
- Added mechanism for providing example node networks in the help menu. Examples can optionally be
associated with certain node types. The Cog menu in the Node Editor lists any applicable
Examples for the node type being edited (#3108).
- Added general improvements to readability and appearance in the stylesheet. Most notably,
this makes the headings consistent, and the spacing between elements uniform (#3149).

API
---
Expand All @@ -99,6 +150,9 @@ API
- Improved assert methods.
- GraphComponent : Added protected `parentChanged()` virtual method (#3080).
- ImagePlug : Added convenience methods for evaluating global image properties (#3073).
- GraphComponentPath : Added property for accessing the GraphComponent (#3106).
- LightFilter : Added LightFilter class used as base for renderer-specific implementations (#3020).
- NameValuePlug : Introduced new plug type for associating a name with a value (#3161).

Build
-----
Expand All @@ -108,6 +162,9 @@ Build
- Enabled TBB debugging features in DEBUG builds.
- Added `-fno-omit-frame-pointer` compiler flag for RELWITHDEBINFO builds.
- Fixed warnings when building with XCode 10.2 (#3094).
- Fixed problem where some Arnold modules were installed when ARNOLD_ROOT was
not specified (#3101).
- Made GafferCortex an optional component at build time (#3168).

Breaking Changes
----------------
Expand All @@ -128,6 +185,7 @@ Breaking Changes
- Removed less-than operator.
- The equality operator now compares plug and context instead of
hash.
- ArrayPlug : Inputs are now required to be ArrayPlugs too (#3116).
- BackdropNodeGadget/StandardNodeGadget (#3028) : Removed private member variables.
- SceneTestCase (#3060) : Changed signatures for the following functions :
- `assertPathsEqual()`
Expand All @@ -138,6 +196,88 @@ Breaking Changes
- `assertSceneHashesNotEqual()`
- Shader : Changed base class to ComputeNode (#3074).
- TweakPlug : Added compulsory ValuePlug argument to constructor used for serialisation (#3084).
- AnimationEditor : Removed `connectedCurvePlug()` method (#3106).
- ParallelAlgo : Replaced `registerUIThreadCallHandler()` with `push/popUIThreadCallHandler()` (#3101).
- Renderer API : Added `lightBlocker()` virtual method (#3020).
- CompoundDataPlug : Removed MemberPlug and `addMember()` as well as `addOptionalMember()`. Use NameValuePlug instead (#3161).
- TransformTool : Added private members (ABI change only - source compatibility is maintained) (#3144).
- RenderController : Added argument to `updateInBackground()` (ABI change only, source compatibility is maintained) (#3144).
- SceneGadget : Added new private member (ABI change only, source compatibility is maintained) (#3144).
- LightVisualiser : The signature for `visualise()` now also includes the attributes (#3180).

0.53.6.2 (relative to 0.53.6.1)
========

Improvements
------------

- CustomAttributes : Added extraAttributes plug that can be set from CompoundData (#3191)
- StandardLightVisualiser : Setting locatorScale to 0 now avoids costly computations (#3178)
- GafferUI : Added compatibility patch to allow >0.54 layouts to load (#3206)

Fixes
-----

- MultiLineTextWidget : Fixed unicode handling in `selectedText()` (#3183)
- SplineWidget : Fixed display transform management bug (#3187)
- ArnoldLight : Nodules no longer disappear when copy/pasting Arnold quad_light and skydome_light nodes (#3188)

0.53.6.0 (relative to 0.53.5.0)
========

Improvements
------------

- FileSequenceParameterValueWidget : Added support for typeHint:includeSequences (#3164).

Fixes
-----

- ViewportGadget::SelectionScope : Fixed bug causing GL attribute state to leak (#2991).
- GafferUI::PlugValueWidget : Fixed bug causing output plugs to be unaffected by context (#3132).
- GafferImage::BleedFill : Fixed bug regarding negative inputs (#3132).
- TransformTool :
- Fixed issue causing unnecessary work when disabled (#3144).
- Fixed crash in selection processing code (#3136).
- Stats app : Fixed context management bug when computing image properties (#3147).
- Docs : Fixed broken link in introduction (#3140).

0.53.5.0 (relative to 0.53.4.0)
========

Features
--------

- Reference : Added support for fileName search paths (#3049).
- Set the new `GAFFER_REFERENCE_PATHS` environment variable in order to load relative Reference files.

Improvements
------------

- ArnoldShader/ArnoldLight :
- Added support for "gaffer.default" and "gaffer.userDefault" metadata (#3112).
There is an example .mtd file which provides Arnold 5.2 compatibility in contrib/arnold (#3115).
- Exposed the geometry parameters for the `standard_surface` shader in the NodeEditor (#3104).

Fixes
-----

- Catalogue : Fixed bug when viewing a Catalogue after a ShaderView (#3113).
- Note this is actually a change to ShaderPlug itself, not to Catalogue.
- Camera : Fixed bug in compatibility config (#3100).
- Wedge : Fixed to work without compatibility configs (#3122).
- AnimationEditor : Fixed bug affecting animated promoted plugs (#3106).
- UIEditor : Fixed bug with '/' in presets (we now replace '/' with '_') (#3103).
- Viewer : Fixed potential deadlocks when editing the camera in the Viewer (#3121).

Documentation
-------------

- Added "Anatomy of a Camera" article to "Working with Scenes" section (#3050).
- Added missing shortguts for "Controls and Shortcuts" (#3111).
- Fixed recent screengrab errors and build targets (#3066).
- Fixed shader assignment variable in Python tutorial (#3099).
- Fixed reference to 'root' in Expression Scripting Reference (#3107).

0.53.4.0 (relative to 0.53.3.0)
========
Expand Down
4 changes: 2 additions & 2 deletions PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@ Generally describe what this PR will do, and why it is needed

- List specific new features and changes to project components

### Related Issues ###
### Related issues ###

- List any Issues this PR addresses or solves

### Dependencies ###

- List any other unmerged PRs that this PR depends on

### Breaking Changes ###
### Breaking changes ###

- List any breaking API/ABI changes (and apply the pr-majorVersion label)

Expand Down
16 changes: 8 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,14 @@ Compiled binary releases are available for download from the [releases page](htt
Gaffer is a fairly large project, and as such has a fairly complex build process. Before you start, make sure you have the following prerequisites installed on your system, which will be used to perform the build itself.


### Build Requirements ###
### Build requirements ###

From time to time, this list may change. For a complete, accurate, and up-to-date method of installing the prerequisites on CentOS, refer to the [Docker setup](https://github.com/GafferHQ/build/blob/master/Dockerfile) we use for building automatic releases.

> **Note:** Specific package names may differ depending on your Linux distribution and repository.

#### Main Build Requirements ####
#### Main build requirements ####

> **Note:** Large Linux distros focused on usability, such as CentOS and Ubuntu, ship with many of these packages by default.
Expand All @@ -51,7 +51,7 @@ Package Name | Minimum Version
[mesa-libGLU-devel](https://www.mesa3d.org) |


#### Documentation Build Requirements ####
#### Documentation build requirements ####

> **Note:** Building the documentation is optional.
Expand All @@ -68,7 +68,7 @@ sphinx_rtd_theme |
recommonmark |


### Build Process ###
### Build process ###

Gaffer also depends on a number of 3rd-party libraries and python modules, many of which are not entirely straightforward to build. We therefore recommend using the latest pre-built dependencies from the [Gaffer dependencies project](https://github.com/GafferHQ/dependencies/releases). These are used in our automated test builds and so are guaranteed to be up-to-date with Gaffer's requirements.

Expand All @@ -88,22 +88,22 @@ scons BUILD_DIR=<BUILD_DIR> build
```


## Questions and Troubleshooting ##
## Questions and troubleshooting ##

If you have any questions about using Gaffer, or encounter problems setting it up, feel free to ask on the [Gaffer community group](https://groups.google.com/forum/#!forum/gaffer-dev). Our users and contributors are happy to help.


## Requesting Features ##
## Requesting features ##

If there is a feature you would like to see in Gaffer, request it on the [Gaffer community group](https://groups.google.com/forum/#!forum/gaffer-dev). Do not create an Issue for it on GitHub.


## Contributions and Bugs Reports ##
## Contributions and bugs reports ##

Please see the project's [contribution guidelines](CONTRIBUTING.md).


## Copyright and License ##
## Copyright and license ##

© 2011–2019 John Haddon. All rights reserved.

Expand Down
Loading

0 comments on commit 8acec64

Please sign in to comment.