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: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