[video output=day083 member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Premultiplied Alpha" vod_platform=youtube id=bidrZj1YosA annotator=Miblo]
[1:44][Recap yesterday's work]
[4:20][Investigate peripheral problem]
[6:01][Blackboard: Alpha channel in the intermediate buffer]
[10:08][Blackboard: Considerations for handling alpha]
[16:30][The allergy of computing][quote 44]
[17:08][Blackboard: Alpha blend our edges]
[23:05][Fuss with alpha]
[24:09][Call DrawTestGround every frame]
[25:25][Play with DrawBitmap]
[26:47][Introduce real32 RSA in order to keep SA and DA in the same space]
[29:23][Does that produce the result we expect?]
[30:18][What GIMP thinks is a reasonable thing to have occur]
[31:58][Play with the alpha channel of Stone]
[35:51][Blackboard: What's happening with the colours?]
[40:47][Blackboard: Pre-multiplied alpha]
[55:54][Pre-multiply alpha]
[58:08][Grab out each individual channel]
[1:00:51][Do that pre-multiplication]
[1:04:18][Blackboard: Brief recap]
[1:06:07][Blackboard: Do the pre-multiplied alpha examples in algebra]
[1:11:39][Blackboard: Have something in that screen to begin with]
[1:16:21][Blackboard: Group the terms]
[1:22:13][Blackboard: The equation for the pre-multiplied alpha]
[1:24:05][Implement the equation]
[1:25:37][Re-enable DrawTestGround]
[1:27:04][Put CAlpha back in]
[1:30:13][Check the equation]
[1:32:37][Q&A][:speech]
[1:33:18][Q: According to \[a website\], to fix the Wacom driver without restarting, stop and start Wacom Professional Tablet Service]
[1:35:00][Q: Being Happy, Sleepy and Sneezy, you do realise you're just four dwarves short of a whole crew?]
[1:36:07][@mr4thdimention][So if I understand correctly (sorry if my interpretation just confuses anyone), the reason off-screen rendering was incorrect before pre-multiplied alpha was that, after blending, things in the texture - the colours there - were pre-multiplied because they were multiplied when they were put in the texture. If, for some reason, you didn't want to optimise your code, you could also divide the colour channel by the alpha to get it back to un-pre-multiplied. Is this a reasonable understanding of the issue?]
[1:42:55][Q: Can you give a small example of what the decompression step between SimEntity and StoredEntity will look like?]
[1:43:24][@drive137][Q: Maybe we should set a way for you to see things like that kind of help, if someone finds a good possible solution. No, I don't know how]
[1:43:55][Blackboard: A lot of equationing]
[1:44:43][Wrap up the stream with a brief recap...][:speech]
[1:46:14][...a peek into the future...][:speech]
[1:49:29][...and closing remarks][:speech]
[/video]
