I have a vector layer of buildings:
and a polygon layer coloured by some quantity:
and I want to mask one by the other to produce this:
This can be done by setting the blend mode to "Multiply" with the building polygons on top as long as the polygons are white and the background of that layer is black.
One way of doing that is to use an "Inverted Polygons" fill but that is very slow at low zoom levels since all the buildings are in view and that's a lot of inverted polygons.
The other way I thought I'd cracked this was to create a "Group" layer with the buildings filled in white and a virtual layer consisting of the bounding box of the buldings filled in black. On its own it looks right:
but QGIS (3.6) doesn't let you blend grouped layers (Gimp and Photoshop probably do) so it doesn't work.
I really want to do it in the canvas so solutions involving processing intersections and creating new layers and so on aren't going to work either.
I'm not sure if I'm missing a trick to create a style for a layer to have a black background, or if there's something else in the blending modes that will do this...