skia2/modules
Florin Malita d9e8586d23 [skottie] Fix camera/3D layer transform interactions
Currently, the camera view transform is attached to the render tree as a
TransformEffect.  This means it gets "flattened" to an SkMatrix in isolation,
and does not compose with other layer transforms in 4x4 format.

Refactor the implementation to

  - build the camera transform upfront
  - compose (chain) all layer transforms from this camera transform

This ensures that transform composition happens in SkMatrix44.

E.g. render tree topology change (TE == TransformEffect)

Before:

                      [root]
                        |
                      [TE]<---[CameraT]
                        |
       ------------------------------------
      |                                    |
      |                                    |
    [TE]<--[Layer1T]          [Layer2T]-->[TE]
      |                                    |
  [Layer1]                              [Layer2]
      |                                    |



After:
                      [root]
                        |
                        |
       ------------------------------------
      |                                    |
      |             [CameraT]              |
      |                / \                 |
    [TE]<--[Layer1T]<--   --->[Layer2T]-->[TE]
      |                                    |
  [Layer1]                              [Layer2]
      |                                    |


TBR=
Bug: skia:8914
Change-Id: Idd407712f75c48623b5299a4284ddb17b98c155f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249217
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-10-17 20:57:09 +00:00
..
canvaskit CanvasKit: Switch to WebGL 2.0 2019-10-16 18:45:46 +00:00
particles Fix a couple minor bugs in particle code 2019-10-17 14:55:34 +00:00
pathkit [canvaskit] Update to build with emscripten 1.38.47 2019-10-09 15:08:10 +00:00
skottie [skottie] Fix camera/3D layer transform interactions 2019-10-17 20:57:09 +00:00
skparagraph Bug fix (strut must be false by default) 2019-10-08 20:53:01 +00:00
skplaintexteditor tools/skui: put all enums in a common namespace 2019-08-29 15:39:32 +00:00
sksg [skottie] Luma matte support 2019-10-16 13:17:51 +00:00
skshaper Allow better font fallback. 2019-10-02 22:19:13 +00:00