Error-based Drawing Algorithms
?
?

Keyboard Navigation

Global Keys

[, < / ], > Jump to previous / next episode
W, K, P / S, J, N Jump to previous / next timestamp
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 and Index Controls

a
w
s
d
h j k l


Esc Close menu / unfocus timestamp

Quotes and References Menus and Index

Enter Jump to timestamp

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)
0:11Glimpse into the future beyond RSI Break
0:11Glimpse into the future beyond RSI Break
0:11Glimpse into the future beyond RSI Break
0:49Blackboard: Bresenham
0:49Blackboard: Bresenham
0:49Blackboard: Bresenham
2:43Blackboard: Drawing a pixel at a time directly to a CRT
2:43Blackboard: Drawing a pixel at a time directly to a CRT
2:43Blackboard: Drawing a pixel at a time directly to a CRT
6:48Blackboard: Constructing an algorithm for drawing a line
6:48Blackboard: Constructing an algorithm for drawing a line
6:48Blackboard: Constructing an algorithm for drawing a line
15:19Blackboard: Picking whether horizontal or vertical is the better choice, i.e. error-based drawing
15:19Blackboard: Picking whether horizontal or vertical is the better choice, i.e. error-based drawing
15:19Blackboard: Picking whether horizontal or vertical is the better choice, i.e. error-based drawing
27:04Blackboard: Constructing an algorithm for drawing a circle
27:04Blackboard: Constructing an algorithm for drawing a circle
27:04Blackboard: Constructing an algorithm for drawing a circle
29:42"I don't want to be at the club. This is not dance time"α
29:42"I don't want to be at the club. This is not dance time"α
29:42"I don't want to be at the club. This is not dance time"α
35:23Blackboard: Optimising this circle-plotting routine
35:23Blackboard: Optimising this circle-plotting routine
35:23Blackboard: Optimising this circle-plotting routine
37:06Blackboard: Transforming the implicit line-drawing equation into the circle one
37:06Blackboard: Transforming the implicit line-drawing equation into the circle one
37:06Blackboard: Transforming the implicit line-drawing equation into the circle one
40:09Internet: Bresenham's line algorithm1
40:09Internet: Bresenham's line algorithm1
40:09Internet: Bresenham's line algorithm1
42:12elxenoaizd I remember reading that Bresenham works for the first octant, and they had two cases to handle (slope >= 1 and slope < 1). Will this dx = sign(x1 - x0) address both of these concerns?
🗪
42:12elxenoaizd I remember reading that Bresenham works for the first octant, and they had two cases to handle (slope >= 1 and slope < 1). Will this dx = sign(x1 - x0) address both of these concerns?
🗪
42:12elxenoaizd I remember reading that Bresenham works for the first octant, and they had two cases to handle (slope >= 1 and slope < 1). Will this dx = sign(x1 - x0) address both of these concerns?
🗪
43:49Connor_Rentz Do we ever do line drawing on Handmade Hero?
🗪
43:49Connor_Rentz Do we ever do line drawing on Handmade Hero?
🗪
43:49Connor_Rentz Do we ever do line drawing on Handmade Hero?
🗪
44:03elxenoaizd I'm still not 100% sure how Bresenham figured out 'if horizontal is better'. You mentioned they used the line equation y = mx+b. How does that help them in knowing if horizontal is better?
🗪
44:03elxenoaizd I'm still not 100% sure how Bresenham figured out 'if horizontal is better'. You mentioned they used the line equation y = mx+b. How does that help them in knowing if horizontal is better?
🗪
44:03elxenoaizd I'm still not 100% sure how Bresenham figured out 'if horizontal is better'. You mentioned they used the line equation y = mx+b. How does that help them in knowing if horizontal is better?
🗪
46:38elxenoaizd There were multiple extensions / optimizations done on Bresenham like drawing only half the line and mirroring it, and Run Slicing by Michael Abrash and Symmetric Double Step by Xialon Wu. Any thoughts on those?
🗪
46:38elxenoaizd There were multiple extensions / optimizations done on Bresenham like drawing only half the line and mirroring it, and Run Slicing by Michael Abrash and Symmetric Double Step by Xialon Wu. Any thoughts on those?
🗪
46:38elxenoaizd There were multiple extensions / optimizations done on Bresenham like drawing only half the line and mirroring it, and Run Slicing by Michael Abrash and Symmetric Double Step by Xialon Wu. Any thoughts on those?
🗪
48:25Pseudonym73 Little-known fact, Bresenham's method predates framebuffers by about five years. It was actually designed for a drum plotter
🗪
48:25Pseudonym73 Little-known fact, Bresenham's method predates framebuffers by about five years. It was actually designed for a drum plotter
🗪
48:25Pseudonym73 Little-known fact, Bresenham's method predates framebuffers by about five years. It was actually designed for a drum plotter
🗪
49:22arrrjt I feel it should be deciding between "move right" and "move diagonally right and down", instead of either "left" or "down"
🗪
49:22arrrjt I feel it should be deciding between "move right" and "move diagonally right and down", instead of either "left" or "down"
🗪
49:22arrrjt I feel it should be deciding between "move right" and "move diagonally right and down", instead of either "left" or "down"
🗪
50:53elxenoaizd Can that method be used to draw wireframe triangles, or is there a faster way to draw wireframe triangles like flat-bottom / flat-top trigs?
🗪
50:53elxenoaizd Can that method be used to draw wireframe triangles, or is there a faster way to draw wireframe triangles like flat-bottom / flat-top trigs?
🗪
50:53elxenoaizd Can that method be used to draw wireframe triangles, or is there a faster way to draw wireframe triangles like flat-bottom / flat-top trigs?
🗪
51:33XpansionPak Is this ever used for uniform grid pathfinding?
🗪
51:33XpansionPak Is this ever used for uniform grid pathfinding?
🗪
51:33XpansionPak Is this ever used for uniform grid pathfinding?
🗪
52:16nxsy For tomorrow: Given an entity with position and current velocity and maximum acceleration, and a target position, how do you determine the correct acceleration (direction and speed) each frame so that you stop on the target point?
🗪
52:16nxsy For tomorrow: Given an entity with position and current velocity and maximum acceleration, and a target position, how do you determine the correct acceleration (direction and speed) each frame so that you stop on the target point?
🗪
52:16nxsy For tomorrow: Given an entity with position and current velocity and maximum acceleration, and a target position, how do you determine the correct acceleration (direction and speed) each frame so that you stop on the target point?
🗪
53:55Pseudonym73 Oh, FYI, this is how I used to derive Bresenham's algorithm2
🗪
53:55Pseudonym73 Oh, FYI, this is how I used to derive Bresenham's algorithm2
🗪
53:55Pseudonym73 Oh, FYI, this is how I used to derive Bresenham's algorithm2
🗪
54:41elxenoaizd Was the cast from float to int really expensive at the time vs nowaday? is bresenham still relavent today or can we get away with a naive line drawing algo with floating math?
🗪
54:41elxenoaizd Was the cast from float to int really expensive at the time vs nowaday? is bresenham still relavent today or can we get away with a naive line drawing algo with floating math?
🗪
54:41elxenoaizd Was the cast from float to int really expensive at the time vs nowaday? is bresenham still relavent today or can we get away with a naive line drawing algo with floating math?
🗪
55:14nxsy Acceleration is constrained to a maximum amount.
🗪
55:14nxsy Acceleration is constrained to a maximum amount.
🗪
55:14nxsy Acceleration is constrained to a maximum amount.
🗪
56:04Longboolean Was this also used for bezier curves?
🗪
56:04Longboolean Was this also used for bezier curves?
🗪
56:04Longboolean Was this also used for bezier curves?
🗪
56:51cubercaleb Off-topic but still on the topic of math: During these RSI streams do you think you could go over the math for replacing cmath, specifically the trig functions?
🗪
56:51cubercaleb Off-topic but still on the topic of math: During these RSI streams do you think you could go over the math for replacing cmath, specifically the trig functions?
🗪
56:51cubercaleb Off-topic but still on the topic of math: During these RSI streams do you think you could go over the math for replacing cmath, specifically the trig functions?
🗪
57:07CaptainKraft Does OpenGL have this stuff implemented already?
🗪
57:07CaptainKraft Does OpenGL have this stuff implemented already?
🗪
57:07CaptainKraft Does OpenGL have this stuff implemented already?
🗪
57:14elxenoaizd If you were to implement a line drawing function in Handmade Hero, what algorithm would you go for?
🗪
57:14elxenoaizd If you were to implement a line drawing function in Handmade Hero, what algorithm would you go for?
🗪
57:14elxenoaizd If you were to implement a line drawing function in Handmade Hero, what algorithm would you go for?
🗪
58:01Wrap things up
58:01Wrap things up
58:01Wrap things up