Handmade Hero»Episode Guide
Premultiplied Alpha
?
?

Keyboard Navigation

Global Keys

[, < / ], > Jump to previous / next episode
W, K, P / S, J, N Jump to previous / next marker
t / T Toggle theatre / SUPERtheatre mode
V Revert filter to original state Y Select link (requires manual Ctrl-c)

Menu toggling

q Quotes r References f Filter y Link c Credits

In-Menu Movement

a
w
s
d
h j k l


Quotes and References Menus

Enter Jump to timecode

Quotes, References and Credits Menus

o Open URL (in new tab)

Filter Menu

x, Space Toggle category and focus next
X, ShiftSpace Toggle category and focus previous
v Invert topics / media as per focus

Filter and Link Menus

z Toggle filter / linking mode

Credits Menu

Enter Open URL (in new tab)
1:44Recap yesterday's work
1:44Recap yesterday's work
1:44Recap yesterday's work
4:20Investigate peripheral problem
4:20Investigate peripheral problem
4:20Investigate peripheral problem
6:01Blackboard: Alpha channel in the intermediate buffer
6:01Blackboard: Alpha channel in the intermediate buffer
6:01Blackboard: Alpha channel in the intermediate buffer
10:08Blackboard: Considerations for handling alpha
10:08Blackboard: Considerations for handling alpha
10:08Blackboard: Considerations for handling alpha
16:30The allergy of computingα
16:30The allergy of computingα
16:30The allergy of computingα
17:08Blackboard: Alpha blend our edges
17:08Blackboard: Alpha blend our edges
17:08Blackboard: Alpha blend our edges
23:05Fuss with alpha
23:05Fuss with alpha
23:05Fuss with alpha
24:09Call DrawTestGround every frame
24:09Call DrawTestGround every frame
24:09Call DrawTestGround every frame
25:25Play with DrawBitmap
25:25Play with DrawBitmap
25:25Play with DrawBitmap
26:47Introduce real32 RSA in order to keep SA and DA in the same space
26:47Introduce real32 RSA in order to keep SA and DA in the same space
26:47Introduce real32 RSA in order to keep SA and DA in the same space
29:23Does that produce the result we expect?
29:23Does that produce the result we expect?
29:23Does that produce the result we expect?
30:18What GIMP thinks is a reasonable thing to have occur
30:18What GIMP thinks is a reasonable thing to have occur
30:18What GIMP thinks is a reasonable thing to have occur
31:58Play with the alpha channel of Stone
31:58Play with the alpha channel of Stone
31:58Play with the alpha channel of Stone
35:51Blackboard: What's happening with the colours?
35:51Blackboard: What's happening with the colours?
35:51Blackboard: What's happening with the colours?
40:47Blackboard: Pre-multiplied alpha
40:47Blackboard: Pre-multiplied alpha
40:47Blackboard: Pre-multiplied alpha
55:54Pre-multiply alpha
55:54Pre-multiply alpha
55:54Pre-multiply alpha
58:08Grab out each individual channel
58:08Grab out each individual channel
58:08Grab out each individual channel
1:00:51Do that pre-multiplication
1:00:51Do that pre-multiplication
1:00:51Do that pre-multiplication
1:04:18Blackboard: Brief recap
1:04:18Blackboard: Brief recap
1:04:18Blackboard: Brief recap
1:06:07Blackboard: Do the pre-multiplied alpha examples in algebra
1:06:07Blackboard: Do the pre-multiplied alpha examples in algebra
1:06:07Blackboard: Do the pre-multiplied alpha examples in algebra
1:11:39Blackboard: Have something in that screen to begin with
1:11:39Blackboard: Have something in that screen to begin with
1:11:39Blackboard: Have something in that screen to begin with
1:16:21Blackboard: Group the terms
1:16:21Blackboard: Group the terms
1:16:21Blackboard: Group the terms
1:22:13Blackboard: The equation for the pre-multiplied alpha
1:22:13Blackboard: The equation for the pre-multiplied alpha
1:22:13Blackboard: The equation for the pre-multiplied alpha
1:24:05Implement the equation
1:24:05Implement the equation
1:24:05Implement the equation
1:25:37Re-enable DrawTestGround
1:25:37Re-enable DrawTestGround
1:25:37Re-enable DrawTestGround
1:27:04Put CAlpha back in
1:27:04Put CAlpha back in
1:27:04Put CAlpha back in
1:30:13Check the equation
1:30:13Check the equation
1:30:13Check the equation
1:32:37Q&A
🗩
1:32:37Q&A
🗩
1:32:37Q&A
🗩
1:33:18Q: According to [a website], to fix the Wacom driver without restarting, stop and start Wacom Professional Tablet Service
1:33:18Q: According to [a website], to fix the Wacom driver without restarting, stop and start Wacom Professional Tablet Service
1:33:18Q: According to [a website], to fix the Wacom driver without restarting, stop and start Wacom Professional Tablet Service
1:35:00Q: Being Happy, Sleepy and Sneezy, you do realise you're just four dwarves short of a whole crew?
1:35:00Q: Being Happy, Sleepy and Sneezy, you do realise you're just four dwarves short of a whole crew?
1:35:00Q: Being Happy, Sleepy and Sneezy, you do realise you're just four dwarves short of a whole crew?
1:36:07mr4thdimention 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:36:07mr4thdimention 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:36:07mr4thdimention 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:55Q: Can you give a small example of what the decompression step between SimEntity and StoredEntity will look like?
1:42:55Q: Can you give a small example of what the decompression step between SimEntity and StoredEntity will look like?
1:42:55Q: Can you give a small example of what the decompression step between SimEntity and StoredEntity will look like?
1:43:24drive137 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:24drive137 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:24drive137 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:55Blackboard: A lot of equationing
1:43:55Blackboard: A lot of equationing
1:43:55Blackboard: A lot of equationing
1:44:43Wrap up the stream with a brief recap...
🗩
1:44:43Wrap up the stream with a brief recap...
🗩
1:44:43Wrap up the stream with a brief recap...
🗩
1:46:14...a peek into the future...
🗩
1:46:14...a peek into the future...
🗩
1:46:14...a peek into the future...
🗩
1:49:29...and closing remarks
🗩
1:49:29...and closing remarks
🗩
1:49:29...and closing remarks
🗩