Skip to content
  • Timm Bäder's avatar
    snapshot: Reorder color matrix nodes containing a transform node · 05e9a9b5
    Timm Bäder authored
    A color matrix node that contains a transform node can also be expressed
    the other way around, as a transform node containing a color matrix
    node.
    
    In the general case, the color matrix node will have to draw its
    child to a texture so it can color every pixel of that texture, but the
    renderers can short-cut this if the child of the color matrix node is
    already a texture node. So if we have a node tree like
    
    Color Matrix
        - Transform
            - Texture
    
    The renderer would have to either check the grandchild of the color
    matrix or simply fall back to rendering the transform node to a texture.
    
    In the new configuration:
    
    Transform
        - Color Matrix
            - Texture
    
    The renderer can easily see that the child node of the color matrix node
    is a texture, and skip rendering it to a texture.
    
    This is for example happening in current Adwaita for spinners, which are
    rotated symbolics.
    05e9a9b5