I wished this was mentioned earlier because the assignment 1 documentation didn't go over the advantages of premultiplied alpha (except in a link to a blog post).
motoole2
Yes, we absolutely agree. This is the primary reason why we decided to increase the number of grace days (a.k.a late-day points) from 5 to 6 for the entire semester, in order to give everyone the option of taking an additional day to properly tackle Task 8: alpha compositing.
Ashley
It seems like premultiplied alpha is much better than non-premultiplied one based on what you said in the class. So is there any cons for premultiplied alpha?
motoole2
@Ashley Using non-premultiplied colors might makes sense for image editing software, and I comment a bit on that here. This is for a couple reasons. First, we may be interested in modifying the alpha channel or color channels directly, and this only works when pixels have non-premultiplied color values (when RGB and alpha values are not all mixed together). Second, pre-multiplied colors is a lossy way to store colors; if pixels have alpha values set to zero, then any color values associated with those pixels is lost. Btw, precisely because pre-multiplying colors is a lossy format, the specifications for the PNG image format states that RGBA images are to be stored using non-premultiplied colors.
I wished this was mentioned earlier because the assignment 1 documentation didn't go over the advantages of premultiplied alpha (except in a link to a blog post).
Yes, we absolutely agree. This is the primary reason why we decided to increase the number of grace days (a.k.a late-day points) from 5 to 6 for the entire semester, in order to give everyone the option of taking an additional day to properly tackle Task 8: alpha compositing.
It seems like premultiplied alpha is much better than non-premultiplied one based on what you said in the class. So is there any cons for premultiplied alpha?
@Ashley Using non-premultiplied colors might makes sense for image editing software, and I comment a bit on that here. This is for a couple reasons. First, we may be interested in modifying the alpha channel or color channels directly, and this only works when pixels have non-premultiplied color values (when RGB and alpha values are not all mixed together). Second, pre-multiplied colors is a lossy way to store colors; if pixels have alpha values set to zero, then any color values associated with those pixels is lost. Btw, precisely because pre-multiplying colors is a lossy format, the specifications for the PNG image format states that RGBA images are to be stored using non-premultiplied colors.