Can someone give an intuitive explanation (via an example) of why the OVER operation is not commutative?
PandaX
When an opaque object is over a transparent object, you only see the opaque object.
When an transparent object is over an opaque object, you can see the transparent object and the opaque object behind it.
dvernet
Also, consider an object with an alpha of 1. When we compute its OVER operation, it will cover everything underneath it (recall that the a new rgb element (let's go with r for the example) is computed as $final_{r} = (1 - new_{a}) * canvas_{r} + new_{r}$). If the element was placed there first, however, it would still be composited with the shapes placed on top of it.
srzhu
If you have two completely opaque objects, whichever one is on top is the color you see.
Can someone give an intuitive explanation (via an example) of why the OVER operation is not commutative?
When an opaque object is over a transparent object, you only see the opaque object. When an transparent object is over an opaque object, you can see the transparent object and the opaque object behind it.
Also, consider an object with an alpha of 1. When we compute its OVER operation, it will cover everything underneath it (recall that the a new rgb element (let's go with r for the example) is computed as $final_{r} = (1 - new_{a}) * canvas_{r} + new_{r}$). If the element was placed there first, however, it would still be composited with the shapes placed on top of it.
If you have two completely opaque objects, whichever one is on top is the color you see.