[, < / ], >Jump to previous / next episode W, K, P / S, J, NJump to previous / next timestamp t / TToggle theatre / SUPERtheatre mode VRevert filter to original stateYSelect link (requires manual Ctrl-c)
Menu toggling
qQuotesrReferencesfFilteryLinkcCredits
In-Menu and Index Controls
a
w s
d
hjkl
←
↑ ↓
→
EscClose menu / unfocus timestamp
Quotes and References Menus and Index
EnterJump to timestamp
Quotes, References and Credits Menus
oOpen URL (in new tab)
Filter Menu
x, SpaceToggle category and focus next X, ShiftSpaceToggle category and focus previous vInvert topics / media as per focus
0:00Recap and set the stage for the day snapping cat heads onto bodies
🗩
0:00Recap and set the stage for the day snapping cat heads onto bodies
🗩
0:00Recap and set the stage for the day snapping cat heads onto bodies
🗩
0:50Showcase the asset editing UI, with thoughts on scaling asset pieces
🏃
0:50Showcase the asset editing UI, with thoughts on scaling asset pieces
🏃
0:50Showcase the asset editing UI, with thoughts on scaling asset pieces
🏃
5:24Storing and transforming alignment points of entities on-demand
🗩
5:24Storing and transforming alignment points of entities on-demand
🗩
5:24Storing and transforming alignment points of entities on-demand
🗩
8:26Make UpdateAndRenderEntities() store PieceX, PieceY and PieceP as the basis in which we interpret alignment points
8:26Make UpdateAndRenderEntities() store PieceX, PieceY and PieceP as the basis in which we interpret alignment points
8:26Make UpdateAndRenderEntities() store PieceX, PieceY and PieceP as the basis in which we interpret alignment points
9:43Set up to break out PushBitmap() into utility functions that provide alignment information for our snapping procedure to use
📖
9:43Set up to break out PushBitmap() into utility functions that provide alignment information for our snapping procedure to use
📖
9:43Set up to break out PushBitmap() into utility functions that provide alignment information for our snapping procedure to use
📖
11:11Note the imprecision of our 2D sprite vs 3D geometry picking
🏃
11:11Note the imprecision of our 2D sprite vs 3D geometry picking
🏃
11:11Note the imprecision of our 2D sprite vs 3D geometry picking
🏃
12:36Prepare to split up PushBitmap() and PushQuad()
📖
12:36Prepare to split up PushBitmap() and PushQuad()
📖
12:36Prepare to split up PushBitmap() and PushQuad()
📖
19:49Create handmade_renderer_geometry.cpp and .h, introducing WriteQuad() based on PushQuad()
19:49Create handmade_renderer_geometry.cpp and .h, introducing WriteQuad() based on PushQuad()
19:49Create handmade_renderer_geometry.cpp and .h, introducing WriteQuad() based on PushQuad()
28:29Introduce sprite_values and accompanying functions
28:29Introduce sprite_values and accompanying functions
28:29Introduce sprite_values and accompanying functions
35:15Implement PFromAlignP() and SpriteValuesForUpright() based on GetBitmapDim() and PushBitmap(), introducing SpriteDimFromWorldHeight()
35:15Implement PFromAlignP() and SpriteValuesForUpright() based on GetBitmapDim() and PushBitmap(), introducing SpriteDimFromWorldHeight()
35:15Implement PFromAlignP() and SpriteValuesForUpright() based on GetBitmapDim() and PushBitmap(), introducing SpriteDimFromWorldHeight()
42:46Introduce SpriteDimFromWorldHeight(), with a few words on extracting pieces of code into their own functions to be called in whatever combination necessary
42:46Introduce SpriteDimFromWorldHeight(), with a few words on extracting pieces of code into their own functions to be called in whatever combination necessary
42:46Introduce SpriteDimFromWorldHeight(), with a few words on extracting pieces of code into their own functions to be called in whatever combination necessary
45:04Reimplement SpriteValuesForUpright() based on PushUpright()
45:04Reimplement SpriteValuesForUpright() based on PushUpright()
45:04Reimplement SpriteValuesForUpright() based on PushUpright()
48:37Consider the problem of computing the Z-Bias of rotating sprites
🗩
48:37Consider the problem of computing the Z-Bias of rotating sprites
🗩
48:37Consider the problem of computing the Z-Bias of rotating sprites
🗩
50:24Add a fourth dimension to the sprite_values axes
50:24Add a fourth dimension to the sprite_values axes
50:24Add a fourth dimension to the sprite_values axes
52:18Z-Bias of Rotated Sprites
🖌
52:18Z-Bias of Rotated Sprites
🖌
52:18Z-Bias of Rotated Sprites
🖌
54:12Z-biasing sprites, respecting their suggested depth (i.e. ones whose lowermost point in Z is some way in from their bottom edge)
🖌
54:12Z-biasing sprites, respecting their suggested depth (i.e. ones whose lowermost point in Z is some way in from their bottom edge)
🖌
54:12Z-biasing sprites, respecting their suggested depth (i.e. ones whose lowermost point in Z is some way in from their bottom edge)
🖌
1:01:02The mathematics of correct 2D sprite Z-biasing along the camera vector
🖌
1:01:02The mathematics of correct 2D sprite Z-biasing along the camera vector
🖌
1:01:02The mathematics of correct 2D sprite Z-biasing along the camera vector
🖌
1:11:29Consider rolling the Z-bias projection from CompileZBiasProgram() into the vertex shader
📖
1:11:29Consider rolling the Z-bias projection from CompileZBiasProgram() into the vertex shader
📖
1:11:29Consider rolling the Z-bias projection from CompileZBiasProgram() into the vertex shader
📖
1:12:41Constructing the Z-bias projection inside the vertex shader
🖌
1:12:41Constructing the Z-bias projection inside the vertex shader
🖌
1:12:41Constructing the Z-bias projection inside the vertex shader
🖌
1:16:31Simply sliding sprites forwards along the tile to simulate Z-alignment
🖌
1:16:31Simply sliding sprites forwards along the tile to simulate Z-alignment
🖌
1:16:31Simply sliding sprites forwards along the tile to simulate Z-alignment
🖌
1:19:30Continue to implement SpriteValuesForUpright(), postponing our Z-bias story for now
1:19:30Continue to implement SpriteValuesForUpright(), postponing our Z-bias story for now
1:19:30Continue to implement SpriteValuesForUpright(), postponing our Z-bias story for now
1:29:38Make UpdateAndRenderEntities() use our new geometric rendering functions
1:29:38Make UpdateAndRenderEntities() use our new geometric rendering functions
1:29:38Make UpdateAndRenderEntities() use our new geometric rendering functions
1:32:42Run the game to see everything rendering as before
🏃
1:32:42Run the game to see everything rendering as before
🏃
1:32:42Run the game to see everything rendering as before
🏃
1:32:55Prevent PushSprite() from taking a Size and instead take scaled axes
1:32:55Prevent PushSprite() from taking a Size and instead take scaled axes
1:32:55Prevent PushSprite() from taking a Size and instead take scaled axes
1:40:23See that the UI all looks fine
🏃
1:40:23See that the UI all looks fine
🏃
1:40:23See that the UI all looks fine
🏃
1:40:43Change UpdateAndRenderEntities() to use PushSprite() rather than PushBitmap()
1:40:43Change UpdateAndRenderEntities() to use PushSprite() rather than PushBitmap()
1:40:43Change UpdateAndRenderEntities() to use PushSprite() rather than PushBitmap()
1:42:24Find that our sprites are misplaced
🏃
1:42:24Find that our sprites are misplaced
🏃
1:42:24Find that our sprites are misplaced
🏃
1:43:01Investigate our sprite alignment bug
📖
1:43:01Investigate our sprite alignment bug
📖
1:43:01Investigate our sprite alignment bug
📖
1:46:36Fix the MinP computation in SpriteValuesForUpright()
1:46:36Fix the MinP computation in SpriteValuesForUpright()
1:46:36Fix the MinP computation in SpriteValuesForUpright()
1:46:58Find that our sprite placement is much better, pointing out our Z-bias problem
🏃
1:46:58Find that our sprite placement is much better, pointing out our Z-bias problem
🏃
1:46:58Find that our sprite placement is much better, pointing out our Z-bias problem
🏃
1:47:48Decrease the pitch of our camera in UpdateAndRenderWorld()
1:47:48Decrease the pitch of our camera in UpdateAndRenderWorld()
1:47:48Decrease the pitch of our camera in UpdateAndRenderWorld()
1:49:28Traverse the world with our lower pitched camera, to find that it doesn't correctly interpolate between rooms
🏃
1:49:28Traverse the world with our lower pitched camera, to find that it doesn't correctly interpolate between rooms
🏃
1:49:28Traverse the world with our lower pitched camera, to find that it doesn't correctly interpolate between rooms
🏃
1:51:31Increase our camera's Z-offset from the room in GetCameraOffsetZForDim()
1:51:31Increase our camera's Z-offset from the room in GetCameraOffsetZForDim()
1:51:31Increase our camera's Z-offset from the room in GetCameraOffsetZForDim()
1:53:51Speed up our build by commenting out some compilation lines
1:53:51Speed up our build by commenting out some compilation lines
1:53:51Speed up our build by commenting out some compilation lines
1:54:38Traverse the world, with our room interpolation working again, but not the lighting region
🏃
1:54:38Traverse the world, with our room interpolation working again, but not the lighting region
🏃
1:54:38Traverse the world, with our room interpolation working again, but not the lighting region
🏃
1:56:57Set up to implement sprite snapping
🏃
1:56:57Set up to implement sprite snapping
🏃
1:56:57Set up to implement sprite snapping
🏃
1:58:16Make UpdateAndRenderEntities() snap sprites together based on alignment points set in the UI, introducing FindAlign()
1:58:16Make UpdateAndRenderEntities() snap sprites together based on alignment points set in the UI, introducing FindAlign()
1:58:16Make UpdateAndRenderEntities() snap sprites together based on alignment points set in the UI, introducing FindAlign()
2:09:06Run the game to find that our cat hero's body oscillates between two locations
🏃
2:09:06Run the game to find that our cat hero's body oscillates between two locations
🏃
2:09:06Run the game to find that our cat hero's body oscillates between two locations
🏃
2:09:30Enable UpdateAndRenderEntities() to handle snapping of pieces with no parent alignment point
2:09:30Enable UpdateAndRenderEntities() to handle snapping of pieces with no parent alignment point
2:09:30Enable UpdateAndRenderEntities() to handle snapping of pieces with no parent alignment point
2:12:27Find that our cat hero's body now correctly stays still
🏃
2:12:27Find that our cat hero's body now correctly stays still
🏃
2:12:27Find that our cat hero's body now correctly stays still
🏃
2:12:43Investigate our alignment issue in UpdateAndRenderEntities()
📖
2:12:43Investigate our alignment issue in UpdateAndRenderEntities()
📖
2:12:43Investigate our alignment issue in UpdateAndRenderEntities()
📖
2:15:11Make AddCat() connect the Body piece to the world, introducing ConnectPieceToWorld()
2:15:11Make AddCat() connect the Body piece to the world, introducing ConnectPieceToWorld()
2:15:11Make AddCat() connect the Body piece to the world, introducing ConnectPieceToWorld()
2:20:48Step through UpdateAndRenderEntities() and inspect the bitmap pieces of our cat
🏃
2:20:48Step through UpdateAndRenderEntities() and inspect the bitmap pieces of our cat
🏃
2:20:48Step through UpdateAndRenderEntities() and inspect the bitmap pieces of our cat
🏃
2:24:00Realise that the cat (not the cat hero) is showing up
🏃
2:24:00Realise that the cat (not the cat hero) is showing up
🏃
2:24:00Realise that the cat (not the cat hero) is showing up
🏃
2:25:38Try snapping the regular cat's head to its body successfully, again noting our Z-bias problem
🏃
2:25:38Try snapping the regular cat's head to its body successfully, again noting our Z-bias problem
🏃
2:25:38Try snapping the regular cat's head to its body successfully, again noting our Z-bias problem
🏃
2:28:17Q&A
🗩
2:28:17Q&A
🗩
2:28:17Q&A
🗩
2:30:05xxthebigfoxx Q: Do you know anything about the state of the series Bitwise? We haven't heard anything from Per in the last two months
🗪
2:30:05xxthebigfoxx Q: Do you know anything about the state of the series Bitwise? We haven't heard anything from Per in the last two months
🗪
2:30:05xxthebigfoxx Q: Do you know anything about the state of the series Bitwise? We haven't heard anything from Per in the last two months
🗪
2:30:39morglod Q: Why not render with the projection matrix + WM matrices to position?
🗪
2:30:39morglod Q: Why not render with the projection matrix + WM matrices to position?
🗪
2:30:39morglod Q: Why not render with the projection matrix + WM matrices to position?
🗪
2:31:42centhusiast Q: Is wait-free multithreading as difficult as lock-free multithreading?1
🗪
2:31:42centhusiast Q: Is wait-free multithreading as difficult as lock-free multithreading?1
🗪
2:31:42centhusiast Q: Is wait-free multithreading as difficult as lock-free multithreading?1
🗪
2:37:41morglod Q: Why not render sprites with the projection matrix resetting its rotation (facing) towards camera?
🗪
2:37:41morglod Q: Why not render sprites with the projection matrix resetting its rotation (facing) towards camera?
🗪
2:37:41morglod Q: Why not render sprites with the projection matrix resetting its rotation (facing) towards camera?
🗪
2:38:45Demo the sprite Z-biasing
🏃
2:38:45Demo the sprite Z-biasing
🏃
2:38:45Demo the sprite Z-biasing
🏃
2:41:25pythno Q: Can you explain again briefly how you might want to solve the problem of sprites penetrating the ground? Maybe the sprites have to be at a lower angle to the floor so they won't intersect that easily and distort the texture so it looks correct again?
🗪
2:41:25pythno Q: Can you explain again briefly how you might want to solve the problem of sprites penetrating the ground? Maybe the sprites have to be at a lower angle to the floor so they won't intersect that easily and distort the texture so it looks correct again?
🗪
2:41:25pythno Q: Can you explain again briefly how you might want to solve the problem of sprites penetrating the ground? Maybe the sprites have to be at a lower angle to the floor so they won't intersect that easily and distort the texture so it looks correct again?
🗪
2:42:11techzone707 Q: Have you read Communicating Sequential Processes by Tony Hoare?2
🗪
2:42:11techzone707 Q: Have you read Communicating Sequential Processes by Tony Hoare?2
🗪
2:42:11techzone707 Q: Have you read Communicating Sequential Processes by Tony Hoare?2
🗪
2:42:15garryjohanson Q: Would you mind posting that multithreading paper3 in chat?
🗪
2:42:15garryjohanson Q: Would you mind posting that multithreading paper3 in chat?
🗪
2:42:15garryjohanson Q: Would you mind posting that multithreading paper3 in chat?
🗪
2:42:50omfgcookies Q: Are you planning on allowing camera rotation in the final game? You could reface after certain angles so it still gives you some of what you want
🗪
2:42:50omfgcookies Q: Are you planning on allowing camera rotation in the final game? You could reface after certain angles so it still gives you some of what you want
🗪
2:42:50omfgcookies Q: Are you planning on allowing camera rotation in the final game? You could reface after certain angles so it still gives you some of what you want