Starting the Move to Light Probes
?
?

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:00Recap and set the stage for the day cleaning up the lighting
🗩
0:00Recap and set the stage for the day cleaning up the lighting
🗩
0:00Recap and set the stage for the day cleaning up the lighting
🗩
0:57Demo the state of our lighting solution
🏃
0:57Demo the state of our lighting solution
🏃
0:57Demo the state of our lighting solution
🏃
3:37Why is our lighting slow?
🏃
3:37Why is our lighting slow?
🏃
3:37Why is our lighting slow?
🏃
3:37Lighting performance: 1. Threading
🏃
3:37Lighting performance: 1. Threading
🏃
3:37Lighting performance: 1. Threading
🏃
5:00Lighting performance: 2. GPU vs CPU
🏃
5:00Lighting performance: 2. GPU vs CPU
🏃
5:00Lighting performance: 2. GPU vs CPU
🏃
8:06Lighting performance: 3. Algorithmic approach
🏃
8:06Lighting performance: 3. Algorithmic approach
🏃
8:06Lighting performance: 3. Algorithmic approach
🏃
11:47Light Probes
🖌
11:47Light Probes
🖌
11:47Light Probes
🖌
13:01Light Probes: Ours
🖌
13:01Light Probes: Ours
🖌
13:01Light Probes: Ours
🖌
16:24Light Probes: Theirs, with "separation of reflectors and collectors"
🖌
16:24Light Probes: Theirs, with "separation of reflectors and collectors"
🖌
16:24Light Probes: Theirs, with "separation of reflectors and collectors"
🖌
21:57Light Probes: Why not separate the reflectors and collectors to begin with?
🖌
21:57Light Probes: Why not separate the reflectors and collectors to begin with?
🖌
21:57Light Probes: Why not separate the reflectors and collectors to begin with?
🖌
27:37Light Probes: Moving from our "fused" to their "separated" scheme
🖌
27:37Light Probes: Moving from our "fused" to their "separated" scheme
🖌
27:37Light Probes: Moving from our "fused" to their "separated" scheme
🖌
31:08Picking which probes to sample
🖌
31:08Picking which probes to sample
🖌
31:08Picking which probes to sample
🖌
34:41Naive probe sampling: 1. Grid lookup
🖌
34:41Naive probe sampling: 1. Grid lookup
🖌
34:41Naive probe sampling: 1. Grid lookup
🖌
35:56Naive probe sampling: 2. Linear search
🖌
35:56Naive probe sampling: 2. Linear search
🖌
35:56Naive probe sampling: 2. Linear search
🖌
39:00Plausible per-pixel probe sampling
🖌
39:00Plausible per-pixel probe sampling
🖌
39:00Plausible per-pixel probe sampling
🖌
45:20Eyeball our probe sampling requirements
🏃
45:20Eyeball our probe sampling requirements
🏃
45:20Eyeball our probe sampling requirements
🏃
47:24Closest probe, voxel lookup
🖌
47:24Closest probe, voxel lookup
🖌
47:24Closest probe, voxel lookup
🖌
49:07Disable lighting
49:07Disable lighting
49:07Disable lighting
51:37View our unlit world
🏃
51:37View our unlit world
🏃
51:37View our unlit world
🏃
54:09Make ComputeLightPropagation() build up lighting statistics
54:09Make ComputeLightPropagation() build up lighting statistics
54:09Make ComputeLightPropagation() build up lighting statistics
56:31Check out our lighting statistics
🏃
56:31Check out our lighting statistics
🏃
56:31Check out our lighting statistics
🏃
57:31Collect all lighting statistics in ComputeLightPropagation()
57:31Collect all lighting statistics in ComputeLightPropagation()
57:31Collect all lighting statistics in ComputeLightPropagation()
58:59Check out our lighting statistics, and estimate our improvements
🏃
58:59Check out our lighting statistics, and estimate our improvements
🏃
58:59Check out our lighting statistics, and estimate our improvements
🏃
1:01:19Introduce a light probe brain_type for GenerateRoom() to place on all non-wall tiles
1:01:19Introduce a light probe brain_type for GenerateRoom() to place on all non-wall tiles
1:01:19Introduce a light probe brain_type for GenerateRoom() to place on all non-wall tiles
1:09:55Introduce AddLightProbe()
1:09:55Introduce AddLightProbe()
1:09:55Introduce AddLightProbe()
1:12:38Do not see our light probes
🏃
1:12:38Do not see our light probes
🏃
1:12:38Do not see our light probes
🏃
1:12:51Enable UpdateAndRenderEntities() to draw our light probes, introducing IsLightProbe()
1:12:51Enable UpdateAndRenderEntities() to draw our light probes, introducing IsLightProbe()
1:12:51Enable UpdateAndRenderEntities() to draw our light probes, introducing IsLightProbe()
1:17:56Check out our light probes
🏃
1:17:56Check out our light probes
🏃
1:17:56Check out our light probes
🏃
1:18:18Make GenerateRoom() place the upper light probes slightly lower
1:18:18Make GenerateRoom() place the upper light probes slightly lower
1:18:18Make GenerateRoom() place the upper light probes slightly lower
1:18:34Check out our light probes
🏃
1:18:34Check out our light probes
🏃
1:18:34Check out our light probes
🏃
1:18:55Let UpdateAndRenderEntities() ignore Z-biasing for the light probes
1:18:55Let UpdateAndRenderEntities() ignore Z-biasing for the light probes
1:18:55Let UpdateAndRenderEntities() ignore Z-biasing for the light probes
1:19:12Check out our light probes down stairs
🏃
1:19:12Check out our light probes down stairs
🏃
1:19:12Check out our light probes down stairs
🏃
1:20:01Fix GenerateRoom() to place light probes correctly on stairwells
1:20:01Fix GenerateRoom() to place light probes correctly on stairwells
1:20:01Fix GenerateRoom() to place light probes correctly on stairwells
1:20:22Check out our light probes down stairs
🏃
1:20:22Check out our light probes down stairs
🏃
1:20:22Check out our light probes down stairs
🏃
1:21:14Make UpdateAndRenderEntities() count up the light probes
1:21:14Make UpdateAndRenderEntities() count up the light probes
1:21:14Make UpdateAndRenderEntities() count up the light probes
1:23:24Check out our LightProbeCount, compared with the PointCount of our existing solution
🏃
1:23:24Check out our LightProbeCount, compared with the PointCount of our existing solution
🏃
1:23:24Check out our LightProbeCount, compared with the PointCount of our existing solution
🏃
1:26:30Determine to build up our light probe voxel grid
🗩
1:26:30Determine to build up our light probe voxel grid
🗩
1:26:30Determine to build up our light probe voxel grid
🗩
1:31:15Create our voxel grid, introducing light_probe_spatial_index for the lighting_solution to contain
1:31:15Create our voxel grid, introducing light_probe_spatial_index for the lighting_solution to contain
1:31:15Create our voxel grid, introducing light_probe_spatial_index for the lighting_solution to contain
1:38:03Introduce AddProbeToSpatialIndex()
1:38:03Introduce AddProbeToSpatialIndex()
1:38:03Introduce AddProbeToSpatialIndex()
1:39:48Voxel sampling resolution
🖌
1:39:48Voxel sampling resolution
🖌
1:39:48Voxel sampling resolution
🖌
1:42:21Continue to sketch out AddProbeToSpatialIndex()
1:42:21Continue to sketch out AddProbeToSpatialIndex()
1:42:21Continue to sketch out AddProbeToSpatialIndex()
1:48:25Hierarchical sampling
🖌
1:48:25Hierarchical sampling
🖌
1:48:25Hierarchical sampling
🖌
1:50:14Q&A
🗩
1:50:14Q&A
🗩
1:50:14Q&A
🗩
1:50:44jmc516 Q: How far along in the game are we? What percentage would you say?
🗪
1:50:44jmc516 Q: How far along in the game are we? What percentage would you say?
🗪
1:50:44jmc516 Q: How far along in the game are we? What percentage would you say?
🗪
1:52:22longboolean Q: Concerning picking lighting probes, could you use some sort of proximity hash (for lack of a better term), if there is such a thing? Something like where the key would be the location you want to select from. Ideally collisions would be physically close to each other in space? Or is there a reason why doing something like this would not be feasible? Although now that I think about it, what I'm describing sounds a lot like a 2D array
🗪
1:52:22longboolean Q: Concerning picking lighting probes, could you use some sort of proximity hash (for lack of a better term), if there is such a thing? Something like where the key would be the location you want to select from. Ideally collisions would be physically close to each other in space? Or is there a reason why doing something like this would not be feasible? Although now that I think about it, what I'm describing sounds a lot like a 2D array
🗪
1:52:22longboolean Q: Concerning picking lighting probes, could you use some sort of proximity hash (for lack of a better term), if there is such a thing? Something like where the key would be the location you want to select from. Ideally collisions would be physically close to each other in space? Or is there a reason why doing something like this would not be feasible? Although now that I think about it, what I'm describing sounds a lot like a 2D array
🗪
1:54:15guybru5h_vi Q: Have you thought about fully voxelizing the world and tracing rays in voxel space? Alternatively, what about selecting the probes using frustrum voxels like in Doom 2016?
🗪
1:54:15guybru5h_vi Q: Have you thought about fully voxelizing the world and tracing rays in voxel space? Alternatively, what about selecting the probes using frustrum voxels like in Doom 2016?
🗪
1:54:15guybru5h_vi Q: Have you thought about fully voxelizing the world and tracing rays in voxel space? Alternatively, what about selecting the probes using frustrum voxels like in Doom 2016?
🗪
1:56:40mtb34 Q: Is it possible for you to share your theme color hex codes? I would like to use them on VSC
🗪
1:56:40mtb34 Q: Is it possible for you to share your theme color hex codes? I would like to use them on VSC
🗪
1:56:40mtb34 Q: Is it possible for you to share your theme color hex codes? I would like to use them on VSC
🗪
1:57:45mtsmox Q: Will light probes only collect from hits to closest surfaces and as such would a three level setup per tile always leave the middle one never collecting any light? So now the two level is only for floor and ceiling?
🗪
1:57:45mtsmox Q: Will light probes only collect from hits to closest surfaces and as such would a three level setup per tile always leave the middle one never collecting any light? So now the two level is only for floor and ceiling?
🗪
1:57:45mtsmox Q: Will light probes only collect from hits to closest surfaces and as such would a three level setup per tile always leave the middle one never collecting any light? So now the two level is only for floor and ceiling?
🗪
1:58:04metju Q: Would you then consider handing the project over to a game designer to continue teaching the next parts?
🗪
1:58:04metju Q: Would you then consider handing the project over to a game designer to continue teaching the next parts?
🗪
1:58:04metju Q: Would you then consider handing the project over to a game designer to continue teaching the next parts?
🗪
1:59:57guybru5h_vi Q: Have you read the recent Morgan Mcguire Diffuse GI probe paper? Could come in handy for this!
🗪
1:59:57guybru5h_vi Q: Have you read the recent Morgan Mcguire Diffuse GI probe paper? Could come in handy for this!
🗪
1:59:57guybru5h_vi Q: Have you read the recent Morgan Mcguire Diffuse GI probe paper? Could come in handy for this!
🗪
2:00:20printf_armin Q: Are entity component systems really a good way for an entity system? Jon has said that they are not really nice, but I wanted to know what you think about them, from an engine programmer's view. For me it looks like lots of wasted time
🗪
2:00:20printf_armin Q: Are entity component systems really a good way for an entity system? Jon has said that they are not really nice, but I wanted to know what you think about them, from an engine programmer's view. For me it looks like lots of wasted time
🗪
2:00:20printf_armin Q: Are entity component systems really a good way for an entity system? Jon has said that they are not really nice, but I wanted to know what you think about them, from an engine programmer's view. For me it looks like lots of wasted time
🗪
2:02:56alexkelbo Q: Can we do some AI programming for the NPCs, since you say we're almost done?
🗪
2:02:56alexkelbo Q: Can we do some AI programming for the NPCs, since you say we're almost done?
🗪
2:02:56alexkelbo Q: Can we do some AI programming for the NPCs, since you say we're almost done?
🗪
2:03:22nickito97 Q: Do you use 4coder outside Handmade Hero?
🗪
2:03:22nickito97 Q: Do you use 4coder outside Handmade Hero?
🗪
2:03:22nickito97 Q: Do you use 4coder outside Handmade Hero?
🗪
2:05:28pragmascrypt Q: Could you share the paper you mentioned about light probes?1,2
🗪
2:05:28pragmascrypt Q: Could you share the paper you mentioned about light probes?1,2
🗪
2:05:28pragmascrypt Q: Could you share the paper you mentioned about light probes?1,2
🗪
2:06:43alexkelbo Q: Did you talk about Harvey Potter during pre-stream? Jon asked us to ask you about it…
🗪
2:06:43alexkelbo Q: Did you talk about Harvey Potter during pre-stream? Jon asked us to ask you about it…
🗪
2:06:43alexkelbo Q: Did you talk about Harvey Potter during pre-stream? Jon asked us to ask you about it…
🗪
2:06:55mtsmox Q: You said that at a hit you will store the result in the closest probe. Would this not leave any probe that has no surface close completely black. Like a 3x3 probe grid per tile, the middle probe would never get picked. And in your two level system, the upper probes will only be picked for the ceiling and the lower ones for the floor (without considering walls)
🗪
2:06:55mtsmox Q: You said that at a hit you will store the result in the closest probe. Would this not leave any probe that has no surface close completely black. Like a 3x3 probe grid per tile, the middle probe would never get picked. And in your two level system, the upper probes will only be picked for the ceiling and the lower ones for the floor (without considering walls)
🗪
2:06:55mtsmox Q: You said that at a hit you will store the result in the closest probe. Would this not leave any probe that has no surface close completely black. Like a 3x3 probe grid per tile, the middle probe would never get picked. And in your two level system, the upper probes will only be picked for the ceiling and the lower ones for the floor (without considering walls)
🗪
2:07:29mtsmox Q: Might you need extra reflectors for the sprites to get better collection around those areas?
🗪
2:07:29mtsmox Q: Might you need extra reflectors for the sprites to get better collection around those areas?
🗪
2:07:29mtsmox Q: Might you need extra reflectors for the sprites to get better collection around those areas?
🗪
2:07:36alexkelbo Q: Are 4coder source licenses available to the general public?
🗪
2:07:36alexkelbo Q: Are 4coder source licenses available to the general public?
🗪
2:07:36alexkelbo Q: Are 4coder source licenses available to the general public?
🗪
2:11:19guybru5h_vi Q: More Jeff and Casey Show3 episodes soon?
🗪
2:11:19guybru5h_vi Q: More Jeff and Casey Show3 episodes soon?
🗪
2:11:19guybru5h_vi Q: More Jeff and Casey Show3 episodes soon?
🗪
2:11:55ragaw11 Why only PayPal and credit card payment methods for Handmade Hero
🗪
2:11:55ragaw11 Why only PayPal and credit card payment methods for Handmade Hero
🗪
2:11:55ragaw11 Why only PayPal and credit card payment methods for Handmade Hero
🗪
2:12:05lucid_frost Q: What do you think about a purpose built editor, as opposed to a general purpose text editor. Could work directly with a binary format similar to any other content creation tool
🗪
2:12:05lucid_frost Q: What do you think about a purpose built editor, as opposed to a general purpose text editor. Could work directly with a binary format similar to any other content creation tool
🗪
2:12:05lucid_frost Q: What do you think about a purpose built editor, as opposed to a general purpose text editor. Could work directly with a binary format similar to any other content creation tool
🗪
2:12:22mallesbixie Bitcoin, of course
🗪
2:12:22mallesbixie Bitcoin, of course
🗪
2:12:22mallesbixie Bitcoin, of course
🗪
2:13:08hexadecimalinteger Apple Pay
🗪
2:13:08hexadecimalinteger Apple Pay
🗪
2:13:08hexadecimalinteger Apple Pay
🗪
2:14:17guybru5h_vi Q: Why are you listed as rewind evangelist in Braid?
🗪
2:14:17guybru5h_vi Q: Why are you listed as rewind evangelist in Braid?
🗪
2:14:17guybru5h_vi Q: Why are you listed as rewind evangelist in Braid?
🗪
2:19:01quickshift_ Q: What mailing list?
🗪
2:19:01quickshift_ Q: What mailing list?
🗪
2:19:01quickshift_ Q: What mailing list?
🗪
2:19:12maliusarth Q: That sounds like you wouldn't been a fan of the current Souls-like trend
🗪
2:19:12maliusarth Q: That sounds like you wouldn't been a fan of the current Souls-like trend
🗪
2:19:12maliusarth Q: That sounds like you wouldn't been a fan of the current Souls-like trend
🗪
2:22:03Wrap it up
🗩
2:22:03Wrap it up
🗩
2:22:03Wrap it up
🗩