Returning to Work on Z Layers
?
?

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:11Recap and set the stage for the day
0:11Recap and set the stage for the day
0:11Recap and set the stage for the day
2:08handmade_world_mode.cpp: Make AddStandardRoom() generate multiple layers, run the game and see how wrong the sorting is
2:08handmade_world_mode.cpp: Make AddStandardRoom() generate multiple layers, run the game and see how wrong the sorting is
2:08handmade_world_mode.cpp: Make AddStandardRoom() generate multiple layers, run the game and see how wrong the sorting is
3:24A few words of encouragement on exploratory programming and embracing the forward flow of the architecture
3:24A few words of encouragement on exploratory programming and embracing the forward flow of the architecture
3:24A few words of encouragement on exploratory programming and embracing the forward flow of the architecture
5:36handmade_entity.cpp: Make UpdateAndRenderEntities() work as it did before the work on the sorting, run the game and see how it looks
5:36handmade_entity.cpp: Make UpdateAndRenderEntities() work as it did before the work on the sorting, run the game and see how it looks
5:36handmade_entity.cpp: Make UpdateAndRenderEntities() work as it did before the work on the sorting, run the game and see how it looks
8:37Blackboard: Z Slices and Two Separate Conceptualisations of What it Means to be Up
8:37Blackboard: Z Slices and Two Separate Conceptualisations of What it Means to be Up
8:37Blackboard: Z Slices and Two Separate Conceptualisations of What it Means to be Up
11:29Blackboard: Layered Alpha Blending
11:29Blackboard: Layered Alpha Blending
11:29Blackboard: Layered Alpha Blending
17:57Blackboard: Solving this Problem
17:57Blackboard: Solving this Problem
17:57Blackboard: Solving this Problem
19:34Blackboard: Render Buffers
19:34Blackboard: Render Buffers
19:34Blackboard: Render Buffers
21:32Blackboard: Back of the envelope calculation on the potential Graphics Memory available to us
21:32Blackboard: Back of the envelope calculation on the potential Graphics Memory available to us
21:32Blackboard: Back of the envelope calculation on the potential Graphics Memory available to us
24:13Blackboard: Back of the envelope calculation on the potential Memory Bandwidth available to us
24:13Blackboard: Back of the envelope calculation on the potential Memory Bandwidth available to us
24:13Blackboard: Back of the envelope calculation on the potential Memory Bandwidth available to us
29:21Consider how to proceed
29:21Consider how to proceed
29:21Consider how to proceed
30:18handmade_entity.cpp: Introduce a TestAlpha in UpdateAndRenderEntities()
30:18handmade_entity.cpp: Introduce a TestAlpha in UpdateAndRenderEntities()
30:18handmade_entity.cpp: Introduce a TestAlpha in UpdateAndRenderEntities()
34:01Run the game and see what happens
34:01Run the game and see what happens
34:01Run the game and see what happens
34:46Debugger: Break into UpdateAndRenderEntities() and inspect the fade values
34:46Debugger: Break into UpdateAndRenderEntities() and inspect the fade values
34:46Debugger: Break into UpdateAndRenderEntities() and inspect the fade values
40:05handmade_entity.cpp: Tweak the FadeTopEndZ and FadeTopStartZ values in UpdateAndRenderEntities(), and again break into it
40:05handmade_entity.cpp: Tweak the FadeTopEndZ and FadeTopStartZ values in UpdateAndRenderEntities(), and again break into it
40:05handmade_entity.cpp: Tweak the FadeTopEndZ and FadeTopStartZ values in UpdateAndRenderEntities(), and again break into it
42:27handmade_opengl.cpp: Pass Entry->PremulColor.a to the rectangle drawing glColor4f() call in OpenGLRenderCommands()
42:27handmade_opengl.cpp: Pass Entry->PremulColor.a to the rectangle drawing glColor4f() call in OpenGLRenderCommands()
42:27handmade_opengl.cpp: Pass Entry->PremulColor.a to the rectangle drawing glColor4f() call in OpenGLRenderCommands()
43:49"So I'm going to go work this out on the blackboard and figure out if I'm just... uh... on crack"α
43:49"So I'm going to go work this out on the blackboard and figure out if I'm just... uh... on crack"α
43:49"So I'm going to go work this out on the blackboard and figure out if I'm just... uh... on crack"α
45:14handmade_entity.cpp: Subtract WorldMode->CameraOffset.z from the CameraRelativeGroundZ computation in UpdateAndRenderEntities()
45:14handmade_entity.cpp: Subtract WorldMode->CameraOffset.z from the CameraRelativeGroundZ computation in UpdateAndRenderEntities()
45:14handmade_entity.cpp: Subtract WorldMode->CameraOffset.z from the CameraRelativeGroundZ computation in UpdateAndRenderEntities()
45:42Run the game and see that we're fine again
45:42Run the game and see that we're fine again
45:42Run the game and see that we're fine again
47:00Blackboard: What RecanonicalizeCoord is doing
47:00Blackboard: What RecanonicalizeCoord is doing
47:00Blackboard: What RecanonicalizeCoord is doing
49:31Blackboard: Offsetting Z
49:31Blackboard: Offsetting Z
49:31Blackboard: Offsetting Z
51:01handmade_world_mode.cpp: Make ChunkPositionFromTilePosition() Offset the entities' Z downwards
51:01handmade_world_mode.cpp: Make ChunkPositionFromTilePosition() Offset the entities' Z downwards
51:01handmade_world_mode.cpp: Make ChunkPositionFromTilePosition() Offset the entities' Z downwards
53:12handmade_world_mode.cpp: Make ChunkPositionFromTilePosition() compute TileDepthInMeters differently
53:12handmade_world_mode.cpp: Make ChunkPositionFromTilePosition() compute TileDepthInMeters differently
53:12handmade_world_mode.cpp: Make ChunkPositionFromTilePosition() compute TileDepthInMeters differently
54:20Debugger: Break into ChunkPositionFromTilePosition() and inspect the offset values
54:20Debugger: Break into ChunkPositionFromTilePosition() and inspect the offset values
54:20Debugger: Break into ChunkPositionFromTilePosition() and inspect the offset values
57:38Debugger: Break into ConvertToLayerRelative() and inspect the Z values
57:38Debugger: Break into ConvertToLayerRelative() and inspect the Z values
57:38Debugger: Break into ConvertToLayerRelative() and inspect the Z values
59:50handmade_entity.cpp: Provisionally compute the relative layer we want for the entities
59:50handmade_entity.cpp: Provisionally compute the relative layer we want for the entities
59:50handmade_entity.cpp: Provisionally compute the relative layer we want for the entities
1:02:06Q&A
🗩
1:02:06Q&A
🗩
1:02:06Q&A
🗩
1:03:47insobot Um. Because undefined behavior?
🗪
1:03:47insobot Um. Because undefined behavior?
🗪
1:03:47insobot Um. Because undefined behavior?
🗪
1:04:30telepathyy What keyboard do you have?
🗪
1:04:30telepathyy What keyboard do you have?
🗪
1:04:30telepathyy What keyboard do you have?
🗪
1:05:40"Like putting your finger in a cloud"β
1:05:40"Like putting your finger in a cloud"β
1:05:40"Like putting your finger in a cloud"β
1:06:00bestofluck Do you expect that the final game will contain enough sprites to warrant using a texture atlas to reduce the number of texture binds per frame?
🗪
1:06:00bestofluck Do you expect that the final game will contain enough sprites to warrant using a texture atlas to reduce the number of texture binds per frame?
🗪
1:06:00bestofluck Do you expect that the final game will contain enough sprites to warrant using a texture atlas to reduce the number of texture binds per frame?
🗪
1:08:33khorm I don't understand why the "base" Z value of each floor would be negative, it seems really contrived. It seems very logical to me to have 0 as as the "bottom". Maybe it has to do with rendering? I have not followed the latest shows
🗪
1:08:33khorm I don't understand why the "base" Z value of each floor would be negative, it seems really contrived. It seems very logical to me to have 0 as as the "bottom". Maybe it has to do with rendering? I have not followed the latest shows
🗪
1:08:33khorm I don't understand why the "base" Z value of each floor would be negative, it seems really contrived. It seems very logical to me to have 0 as as the "bottom". Maybe it has to do with rendering? I have not followed the latest shows
🗪
1:09:50Blackboard: Canonical Point for a Chunk
1:09:50Blackboard: Canonical Point for a Chunk
1:09:50Blackboard: Canonical Point for a Chunk
1:13:22Wrap it up
🗩
1:13:22Wrap it up
🗩
1:13:22Wrap it up
🗩