Debugging Lighting Persistence
?
?

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:01Recap and set the stage for the day debugging the lighting from last stream
🗩
0:01Recap and set the stage for the day debugging the lighting from last stream
🗩
0:01Recap and set the stage for the day debugging the lighting from last stream
🗩
0:50Run the game to show our current lighting situation
🏃
0:50Run the game to show our current lighting situation
🏃
0:50Run the game to show our current lighting situation
🏃
2:03Lighting Storage
🖌
2:03Lighting Storage
🖌
2:03Lighting Storage
🖌
5:11Storing lighting data in entities
🖌
5:11Storing lighting data in entities
🖌
5:11Storing lighting data in entities
🖌
7:11Describe the entity and lighting structures, donning the Pig Hat in the process
🎩
📖
7:11Describe the entity and lighting structures, donning the Pig Hat in the process
🎩
📖
7:11Describe the entity and lighting structures, donning the Pig Hat in the process
🎩
📖
11:01Describe PushCube() assigning light indices
🎩
📖
11:01Describe PushCube() assigning light indices
🎩
📖
11:01Describe PushCube() assigning light indices
🎩
📖
17:50Determine to ensure that the LightStore round-trips successfully, and read through LightingTest()
🎩
📖
17:50Determine to ensure that the LightStore round-trips successfully, and read through LightingTest()
🎩
📖
17:50Determine to ensure that the LightStore round-trips successfully, and read through LightingTest()
🎩
📖
22:02Assert in LightingTest() that we have extracted the final surface of the lighting box, and that the EmitC starts off cleared
🎩
🖮
22:02Assert in LightingTest() that we have extracted the final surface of the lighting box, and that the EmitC starts off cleared
🎩
🖮
22:02Assert in LightingTest() that we have extracted the final surface of the lighting box, and that the EmitC starts off cleared
🎩
🖮
26:12Continue to read through LightingTest()
🎩
📖
26:12Continue to read through LightingTest()
🎩
📖
26:12Continue to read through LightingTest()
🎩
📖
28:02Note in LightingTest() to initialise directions to x = 1000, and pull out LocalCount into a variable to aid debugging
🎩
🖮
28:02Note in LightingTest() to initialise directions to x = 1000, and pull out LocalCount into a variable to aid debugging
🎩
🖮
28:02Note in LightingTest() to initialise directions to x = 1000, and pull out LocalCount into a variable to aid debugging
🎩
🖮
32:40Read through OutputLightingTextures()
🎩
📖
32:40Read through OutputLightingTextures()
🎩
📖
32:40Read through OutputLightingTextures()
🎩
📖
35:06Read through ComputeLightPropagation()
🎩
📖
35:06Read through ComputeLightPropagation()
🎩
📖
35:06Read through ComputeLightPropagation()
🎩
📖
37:04Assert in PushCube() that LightIndex != 0
🎩
🖮
37:04Assert in PushCube() that LightIndex != 0
🎩
🖮
37:04Assert in PushCube() that LightIndex != 0
🎩
🖮
37:19Run the game and unexpectedly fail to hit that assertion, before realising that we set LightPointIndex to 1 after all
🎩
🏃
37:19Run the game and unexpectedly fail to hit that assertion, before realising that we set LightPointIndex to 1 after all
🎩
🏃
37:19Run the game and unexpectedly fail to hit that assertion, before realising that we set LightPointIndex to 1 after all
🎩
🏃
38:27Continue to read through ComputeLightPropagation()
🎩
📖
38:27Continue to read through ComputeLightPropagation()
🎩
📖
38:27Continue to read through ComputeLightPropagation()
🎩
📖
40:00Run the game and determine to get F1 toggling the lighting points debug visualisation again
🎩
🏃
40:00Run the game and determine to get F1 toggling the lighting points debug visualisation again
🎩
🏃
40:00Run the game and determine to get F1 toggling the lighting points debug visualisation again
🎩
🏃
40:25Read through OutputLightingPoints()
🎩
📖
40:25Read through OutputLightingPoints()
🎩
📖
40:25Read through OutputLightingPoints()
🎩
📖
42:27Step in to OutputLightingPoints() and inspect its values
🎩
🏃
42:27Step in to OutputLightingPoints() and inspect its values
🎩
🏃
42:27Step in to OutputLightingPoints() and inspect its values
🎩
🏃
44:31Unify the lighting commands in UpdateAndRenderWorld(), and introduce the notion of discarding old commands
🎩
🖮
44:31Unify the lighting commands in UpdateAndRenderWorld(), and introduce the notion of discarding old commands
🎩
🖮
44:31Unify the lighting commands in UpdateAndRenderWorld(), and introduce the notion of discarding old commands
🎩
🖮
49:15Begin to introduce DiscardAllPreviousRenderCommands(), before deciding to let UpdateAndRenderWorld() instead render the old stuff before calling Clear()
🎩
🖮
49:15Begin to introduce DiscardAllPreviousRenderCommands(), before deciding to let UpdateAndRenderWorld() instead render the old stuff before calling Clear()
🎩
🖮
49:15Begin to introduce DiscardAllPreviousRenderCommands(), before deciding to let UpdateAndRenderWorld() instead render the old stuff before calling Clear()
🎩
🖮
51:49Run the game and view our lighting points debug visualisation to see that the Clear() does not work
🎩
🏃
51:49Run the game and view our lighting points debug visualisation to see that the Clear() does not work
🎩
🏃
51:49Run the game and view our lighting points debug visualisation to see that the Clear() does not work
🎩
🏃
52:17Make UpdateAndRenderWorld() call EndDepthPeel() before EndSim() and the lighting functions
🎩
🖮
52:17Make UpdateAndRenderWorld() call EndDepthPeel() before EndSim() and the lighting functions
🎩
🖮
52:17Make UpdateAndRenderWorld() call EndDepthPeel() before EndSim() and the lighting functions
🎩
🖮
52:42Run the game to see that the Clear() still fails
🎩
🏃
52:42Run the game to see that the Clear() still fails
🎩
🏃
52:42Run the game to see that the Clear() still fails
🎩
🏃
53:16Introduce render_entry_full_clear in OpenGLRenderCommands()
🎩
🖮
53:16Introduce render_entry_full_clear in OpenGLRenderCommands()
🎩
🖮
53:16Introduce render_entry_full_clear in OpenGLRenderCommands()
🎩
🖮
58:50Run the game to see nothing
🎩
🏃
58:50Run the game to see nothing
🎩
🏃
58:50Run the game to see nothing
🎩
🏃
59:07Make UpdateAndRenderWorld() call Clear() before BeginDepthPeel()
🎩
🖮
59:07Make UpdateAndRenderWorld() call Clear() before BeginDepthPeel()
🎩
🖮
59:07Make UpdateAndRenderWorld() call Clear() before BeginDepthPeel()
🎩
🖮
1:00:02Run the game to see that we are rendering again but that the lighting does not correspond across frames
🎩
🏃
1:00:02Run the game to see that we are rendering again but that the lighting does not correspond across frames
🎩
🏃
1:00:02Run the game to see that we are rendering again but that the lighting does not correspond across frames
🎩
🏃
1:00:25Make OpenGLRenderCommands() call OpenGLBindFramebuffer() at the end of the render_entry_full_clear case
🎩
🖮
1:00:25Make OpenGLRenderCommands() call OpenGLBindFramebuffer() at the end of the render_entry_full_clear case
🎩
🖮
1:00:25Make OpenGLRenderCommands() call OpenGLBindFramebuffer() at the end of the render_entry_full_clear case
🎩
🖮
1:00:42Run the game to see that our state is still not resetting correctly
🎩
🏃
1:00:42Run the game to see that our state is still not resetting correctly
🎩
🏃
1:00:42Run the game to see that our state is still not resetting correctly
🎩
🏃
1:00:57Investigate why our clearing is failing to produce correct lighting
🎩
🖮
1:00:57Investigate why our clearing is failing to produce correct lighting
🎩
🖮
1:00:57Investigate why our clearing is failing to produce correct lighting
🎩
🖮
1:04:58Make OpenGLRenderCommands() call glClearColor() and glClear() at the end of the render_entry_full_clear case
🎩
🖮
1:04:58Make OpenGLRenderCommands() call glClearColor() and glClear() at the end of the render_entry_full_clear case
🎩
🖮
1:04:58Make OpenGLRenderCommands() call glClearColor() and glClear() at the end of the render_entry_full_clear case
🎩
🖮
1:05:28Run the game to see no difference
🎩
🏃
1:05:28Run the game to see no difference
🎩
🏃
1:05:28Run the game to see no difference
🎩
🏃
1:06:19OpenGLRenderCommands()
🎩
🖮
1:06:19OpenGLRenderCommands()
🎩
🖮
1:06:19OpenGLRenderCommands()
🎩
🖮
1:08:38Run the game to see no difference
🎩
🏃
1:08:38Run the game to see no difference
🎩
🏃
1:08:38Run the game to see no difference
🎩
🏃
1:09:03Reorganise OpenGLRenderCommands() with a view to correctly clearing the render buffers
🎩
🖮
1:09:03Reorganise OpenGLRenderCommands() with a view to correctly clearing the render buffers
🎩
🖮
1:09:03Reorganise OpenGLRenderCommands() with a view to correctly clearing the render buffers
🎩
🖮
1:15:14Rename Clear() to PushFullClear() and introduce render_entry_begin_peels struct for BeginDepthPeel() to take
🎩
🖮
1:15:14Rename Clear() to PushFullClear() and introduce render_entry_begin_peels struct for BeginDepthPeel() to take
🎩
🖮
1:15:14Rename Clear() to PushFullClear() and introduce render_entry_begin_peels struct for BeginDepthPeel() to take
🎩
🖮
1:18:28Run the game to see similar behaviour
🎩
🏃
1:18:28Run the game to see similar behaviour
🎩
🏃
1:18:28Run the game to see similar behaviour
🎩
🏃
1:18:47Scrutinise OpenGLRenderCommands() to see how the render buffers are being bound and the peel indices are being used
🎩
📖
1:18:47Scrutinise OpenGLRenderCommands() to see how the render buffers are being bound and the peel indices are being used
🎩
📖
1:18:47Scrutinise OpenGLRenderCommands() to see how the render buffers are being bound and the peel indices are being used
🎩
📖
1:22:21Make OpenGLRenderCommands() test OnPeelIndex against MaxRenderTargetIndex in the render_entry_begin_peels case
🎩
🖮
1:22:21Make OpenGLRenderCommands() test OnPeelIndex against MaxRenderTargetIndex in the render_entry_begin_peels case
🎩
🖮
1:22:21Make OpenGLRenderCommands() test OnPeelIndex against MaxRenderTargetIndex in the render_entry_begin_peels case
🎩
🖮
1:24:15Read through ResolveMultisample() and how it is used
🎩
📖
1:24:15Read through ResolveMultisample() and how it is used
🎩
📖
1:24:15Read through ResolveMultisample() and how it is used
🎩
📖
1:25:42Set glClearDepth before all the render_entry cases in OpenGLRenderCommands()
🎩
🖮
1:25:42Set glClearDepth before all the render_entry cases in OpenGLRenderCommands()
🎩
🖮
1:25:42Set glClearDepth before all the render_entry cases in OpenGLRenderCommands()
🎩
🖮
1:26:52Run the game to see that the lighting points debug visualisation actually looks about right, noting that the we seem to have a correspondence problem
🎩
🏃
1:26:52Run the game to see that the lighting points debug visualisation actually looks about right, noting that the we seem to have a correspondence problem
🎩
🏃
1:26:52Run the game to see that the lighting points debug visualisation actually looks about right, noting that the we seem to have a correspondence problem
🎩
🏃
1:28:07Determine that OpenGLRenderCommands() may now be correct
🎩
📖
1:28:07Determine that OpenGLRenderCommands() may now be correct
🎩
📖
1:28:07Determine that OpenGLRenderCommands() may now be correct
🎩
📖
1:28:51Run the game in -O2 and switch between the real and debug visualisation lighting
🎩
🏃
1:28:51Run the game in -O2 and switch between the real and debug visualisation lighting
🎩
🏃
1:28:51Run the game in -O2 and switch between the real and debug visualisation lighting
🎩
🏃
1:30:04Read through OutputLightingTextures() and then PushCube() to see if our lighting indices are corresponding correctly
🎩
📖
1:30:04Read through OutputLightingTextures() and then PushCube() to see if our lighting indices are corresponding correctly
🎩
📖
1:30:04Read through OutputLightingTextures() and then PushCube() to see if our lighting indices are corresponding correctly
🎩
📖
1:35:46Step through OutputLightingTextures() and inspect the Solution, P, C and D
🎩
🏃
1:35:46Step through OutputLightingTextures() and inspect the Solution, P, C and D
🎩
🏃
1:35:46Step through OutputLightingTextures() and inspect the Solution, P, C and D
🎩
🏃
1:37:49Step through OutputLightingPoints() to compare its values with OutputLightingTextures()
🎩
🏃
1:37:49Step through OutputLightingPoints() to compare its values with OutputLightingTextures()
🎩
🏃
1:37:49Step through OutputLightingPoints() to compare its values with OutputLightingTextures()
🎩
🏃
1:38:57Try to hard set Valid = false in LightingTest()
🎩
🖮
1:38:57Try to hard set Valid = false in LightingTest()
🎩
🖮
1:38:57Try to hard set Valid = false in LightingTest()
🎩
🖮
1:39:14Run the game and determine that our problem is unrelated to storage
🎩
🏃
1:39:14Run the game and determine that our problem is unrelated to storage
🎩
🏃
1:39:14Run the game and determine that our problem is unrelated to storage
🎩
🏃
1:40:50Step through LightingTest() and watch its PointIndex and Solution values
🎩
🏃
1:40:50Step through LightingTest() and watch its PointIndex and Solution values
🎩
🏃
1:40:50Step through LightingTest() and watch its PointIndex and Solution values
🎩
🏃
1:46:39PlayWorld() only generate 1 screen
🎩
🖮
1:46:39PlayWorld() only generate 1 screen
🎩
🖮
1:46:39PlayWorld() only generate 1 screen
🎩
🖮
1:46:59Run the game and watch the behaviour of the lighting
🎩
🏃
1:46:59Run the game and watch the behaviour of the lighting
🎩
🏃
1:46:59Run the game and watch the behaviour of the lighting
🎩
🏃
1:47:38Stop hard setting Valid = false in LightingTest()
🎩
🖮
1:47:38Stop hard setting Valid = false in LightingTest()
🎩
🖮
1:47:38Stop hard setting Valid = false in LightingTest()
🎩
🖮
1:47:50Run the game to see that the lighting still doesn't correspond
🎩
🏃
1:47:50Run the game to see that the lighting still doesn't correspond
🎩
🏃
1:47:50Run the game to see that the lighting still doesn't correspond
🎩
🏃
1:48:23Try hard setting the normals and colour in OutputLightingTextures()
🎩
🖮
1:48:23Try hard setting the normals and colour in OutputLightingTextures()
🎩
🖮
1:48:23Try hard setting the normals and colour in OutputLightingTextures()
🎩
🖮
1:49:54Run the game to see that it looks as expected
🎩
🏃
1:49:54Run the game to see that it looks as expected
🎩
🏃
1:49:54Run the game to see that it looks as expected
🎩
🏃
1:50:03Let OutputLightingTextures() use the computed normals
🎩
🖮
1:50:03Let OutputLightingTextures() use the computed normals
🎩
🖮
1:50:03Let OutputLightingTextures() use the computed normals
🎩
🖮
1:50:13Run the game to see a tremendous amount of noise in the normals
🎩
🏃
1:50:13Run the game to see a tremendous amount of noise in the normals
🎩
🏃
1:50:13Run the game to see a tremendous amount of noise in the normals
🎩
🏃
1:51:32Hard set Valid = false and the colour values and directions in LightingTest()
🎩
🖮
1:51:32Hard set Valid = false and the colour values and directions in LightingTest()
🎩
🖮
1:51:32Hard set Valid = false and the colour values and directions in LightingTest()
🎩
🖮
1:52:56Run the game and note that the noise must be coming from somewhere up stream
🎩
🏃
1:52:56Run the game and note that the noise must be coming from somewhere up stream
🎩
🏃
1:52:56Run the game and note that the noise must be coming from somewhere up stream
🎩
🏃
1:54:12Prevent LightingTest() from hard setting the colours
🎩
🖮
1:54:12Prevent LightingTest() from hard setting the colours
🎩
🖮
1:54:12Prevent LightingTest() from hard setting the colours
🎩
🖮
1:54:35Run the game to see complete garbage
🎩
🏃
1:54:35Run the game to see complete garbage
🎩
🏃
1:54:35Run the game to see complete garbage
🎩
🏃
1:55:16Make LightingTest() smooth the lighting over 100 frames
🎩
🖮
1:55:16Make LightingTest() smooth the lighting over 100 frames
🎩
🖮
1:55:16Make LightingTest() smooth the lighting over 100 frames
🎩
🖮
1:55:47Run the game to still see noise even in the debug visualisation
🏃
1:55:47Run the game to still see noise even in the debug visualisation
🏃
1:55:47Run the game to still see noise even in the debug visualisation
🏃
1:56:25Hard set Valid = true in LightingTest() to force it to blend
🎩
🖮
1:56:25Hard set Valid = true in LightingTest() to force it to blend
🎩
🖮
1:56:25Hard set Valid = true in LightingTest() to force it to blend
🎩
🖮
1:56:35Run the game to see that this removes the noise from the lighting points debug visualisation
🎩
🏃
1:56:35Run the game to see that this removes the noise from the lighting points debug visualisation
🎩
🏃
1:56:35Run the game to see that this removes the noise from the lighting points debug visualisation
🎩
🏃
1:57:03Hard set the directions in the blending case in LightingTest()
🎩
🖮
1:57:03Hard set the directions in the blending case in LightingTest()
🎩
🖮
1:57:03Hard set the directions in the blending case in LightingTest()
🎩
🖮
1:57:54Run the game to see that the (computed) colours are garbage
🎩
🏃
1:57:54Run the game to see that the (computed) colours are garbage
🎩
🏃
1:57:54Run the game to see that the (computed) colours are garbage
🎩
🏃
1:58:00Step through PushQuad() watching the vertices' LightIndex and LightCount, and then on through the rest of the lighting code
🎩
🏃
1:58:00Step through PushQuad() watching the vertices' LightIndex and LightCount, and then on through the rest of the lighting code
🎩
🏃
1:58:00Step through PushQuad() watching the vertices' LightIndex and LightCount, and then on through the rest of the lighting code
🎩
🏃
2:08:39Temporarily make OutputLightingTextures() clamp the colours
🎩
🖮
2:08:39Temporarily make OutputLightingTextures() clamp the colours
🎩
🖮
2:08:39Temporarily make OutputLightingTextures() clamp the colours
🎩
🖮
2:09:27Run the game to see that this doesn't affect it
🎩
🏃
2:09:27Run the game to see that this doesn't affect it
🎩
🏃
2:09:27Run the game to see that this doesn't affect it
🎩
🏃
2:09:43Temporarily try to make OutputLightingTextures() loop over the boxes in the same manner as OutputLightingPoints()
🎩
🖮
2:09:43Temporarily try to make OutputLightingTextures() loop over the boxes in the same manner as OutputLightingPoints()
🎩
🖮
2:09:43Temporarily try to make OutputLightingTextures() loop over the boxes in the same manner as OutputLightingPoints()
🎩
🖮
2:11:23Run the game to see that the lighting still doesn't correspond
🎩
🏃
2:11:23Run the game to see that the lighting still doesn't correspond
🎩
🏃
2:11:23Run the game to see that the lighting still doesn't correspond
🎩
🏃
2:12:24Temporarily prevent UpdateAndRenderWorld() from calling PushFullClear() before OutputLightingPoints()
🎩
🖮
2:12:24Temporarily prevent UpdateAndRenderWorld() from calling PushFullClear() before OutputLightingPoints()
🎩
🖮
2:12:24Temporarily prevent UpdateAndRenderWorld() from calling PushFullClear() before OutputLightingPoints()
🎩
🖮
2:12:40Run the game to see that the lighting is still wrong
🎩
🏃
2:12:40Run the game to see that the lighting is still wrong
🎩
🏃
2:12:40Run the game to see that the lighting is still wrong
🎩
🏃
2:13:09Temporarily try to make OutputLightingPoints() perform the very code from OutputLightingTextures()
🎩
🖮
2:13:09Temporarily try to make OutputLightingPoints() perform the very code from OutputLightingTextures()
🎩
🖮
2:13:09Temporarily try to make OutputLightingPoints() perform the very code from OutputLightingTextures()
🎩
🖮
2:14:59Run the game and toggle between the two views to see that they perform identically
🎩
🏃
2:14:59Run the game and toggle between the two views to see that they perform identically
🎩
🏃
2:14:59Run the game and toggle between the two views to see that they perform identically
🎩
🏃
2:16:29Read carefully through the lighting code, following the textures down the pipeline, and note that there is one frame lag in them
🎩
📖
2:16:29Read carefully through the lighting code, following the textures down the pipeline, and note that there is one frame lag in them
🎩
📖
2:16:29Read carefully through the lighting code, following the textures down the pipeline, and note that there is one frame lag in them
🎩
📖
2:19:36Make UpdateAndRenderWorld() call PushLighting() immediately after EnableLighting()
🎩
🖮
2:19:36Make UpdateAndRenderWorld() call PushLighting() immediately after EnableLighting()
🎩
🖮
2:19:36Make UpdateAndRenderWorld() call PushLighting() immediately after EnableLighting()
🎩
🖮
2:21:00Run the game to see that that totally fixes the problem
🎩
🏃
2:21:00Run the game to see that that totally fixes the problem
🎩
🏃
2:21:00Run the game to see that that totally fixes the problem
🎩
🏃
2:22:29Remove the test code
🎩
🖮
2:22:29Remove the test code
🎩
🖮
2:22:29Remove the test code
🎩
🖮
2:22:52Run the game to see that it doesn't work quite right
🎩
🏃
2:22:52Run the game to see that it doesn't work quite right
🎩
🏃
2:22:52Run the game to see that it doesn't work quite right
🎩
🏃
2:23:11Hard set Valid = true in LightingTest()
🎩
🖮
2:23:11Hard set Valid = true in LightingTest()
🎩
🖮
2:23:11Hard set Valid = true in LightingTest()
🎩
🖮
2:23:18Run the game to see that it's correct
🎩
🏃
2:23:18Run the game to see that it's correct
🎩
🏃
2:23:18Run the game to see that it's correct
🎩
🏃
2:24:55Owl of Shame Moment: The removed frame of lag exposed the fact that our lighting indices were not lining up across frames
🎩
🦉
🗩
2:24:55Owl of Shame Moment: The removed frame of lag exposed the fact that our lighting indices were not lining up across frames
🎩
🦉
🗩
2:24:55Owl of Shame Moment: The removed frame of lag exposed the fact that our lighting indices were not lining up across frames
🎩
🦉
🗩
2:28:04Q&A
🎩
🗩
2:28:04Q&A
🎩
🗩
2:28:04Q&A
🎩
🗩
2:29:20jacksonbanan Q: Perhaps the perspective of the game would make this a bit awkward to do but are you planning to have water in the game with reflections, sine waves, and shaders and all that cool stuff?
🗪
🎩
2:29:20jacksonbanan Q: Perhaps the perspective of the game would make this a bit awkward to do but are you planning to have water in the game with reflections, sine waves, and shaders and all that cool stuff?
🗪
🎩
2:29:20jacksonbanan Q: Perhaps the perspective of the game would make this a bit awkward to do but are you planning to have water in the game with reflections, sine waves, and shaders and all that cool stuff?
🗪
🎩
2:30:35pythno Q: Blackboard please
🗪
🎩
2:30:35pythno Q: Blackboard please
🗪
🎩
2:30:35pythno Q: Blackboard please
🗪
🎩
2:30:45Lighting Index Correspondence, Old vs New Way
🖌
🎩
2:30:45Lighting Index Correspondence, Old vs New Way
🖌
🎩
2:30:45Lighting Index Correspondence, Old vs New Way
🖌
🎩
2:37:42roam00010011 Q: What time will the pre-stream will start tomorrow? Got some off-topic burning questions
🗪
🎩
2:37:42roam00010011 Q: What time will the pre-stream will start tomorrow? Got some off-topic burning questions
🗪
🎩
2:37:42roam00010011 Q: What time will the pre-stream will start tomorrow? Got some off-topic burning questions
🗪
🎩
2:38:00vaualbus Q: So we have to call the PushLighting() twice for a solution? Or there is another way to solve the bug?
🗪
🎩
2:38:00vaualbus Q: So we have to call the PushLighting() twice for a solution? Or there is another way to solve the bug?
🗪
🎩
2:38:00vaualbus Q: So we have to call the PushLighting() twice for a solution? Or there is another way to solve the bug?
🗪
🎩
2:39:30theseltzer Q: I know you said it's a common class of bug, but do you have any thoughts on how you might avoid a bug like this in the future?
🗪
🎩
2:39:30theseltzer Q: I know you said it's a common class of bug, but do you have any thoughts on how you might avoid a bug like this in the future?
🗪
🎩
2:39:30theseltzer Q: I know you said it's a common class of bug, but do you have any thoughts on how you might avoid a bug like this in the future?
🗪
🎩
2:41:44vaualbus Q: So this frame latency is bad if we would made this a multithread system?
🗪
🎩
2:41:44vaualbus Q: So this frame latency is bad if we would made this a multithread system?
🗪
🎩
2:41:44vaualbus Q: So this frame latency is bad if we would made this a multithread system?
🗪
🎩
2:42:03davechat Q: Are you allowed to elaborate more on how Moustache works exactly?
🗪
🎩
2:42:03davechat Q: Are you allowed to elaborate more on how Moustache works exactly?
🗪
🎩
2:42:03davechat Q: Are you allowed to elaborate more on how Moustache works exactly?
🗪
🎩
2:42:22stormblaz Q: So you cant use the 4th lines of light and on the 6th line the light stops? There is no other way to make the light stop?
🗪
🎩
2:42:22stormblaz Q: So you cant use the 4th lines of light and on the 6th line the light stops? There is no other way to make the light stop?
🗪
🎩
2:42:22stormblaz Q: So you cant use the 4th lines of light and on the 6th line the light stops? There is no other way to make the light stop?
🗪
🎩
2:42:55Allow UpdateAndRenderWorld() to call PushFullClear()
🎩
🖮
2:42:55Allow UpdateAndRenderWorld() to call PushFullClear()
🎩
🖮
2:42:55Allow UpdateAndRenderWorld() to call PushFullClear()
🎩
🖮
2:43:21Run the game to see that the debug visualisation is as expected
🎩
🏃
2:43:21Run the game to see that the debug visualisation is as expected
🎩
🏃
2:43:21Run the game to see that the debug visualisation is as expected
🎩
🏃
2:44:31vaualbus Q: What is the performance on the big level now?
🗪
🎩
2:44:31vaualbus Q: What is the performance on the big level now?
🗪
🎩
2:44:31vaualbus Q: What is the performance on the big level now?
🗪
🎩
2:44:55Make PlayWorld() generate 32 screens
🎩
🖮
2:44:55Make PlayWorld() generate 32 screens
🎩
🖮
2:44:55Make PlayWorld() generate 32 screens
🎩
🖮
2:45:05Run the game to see our lighting performance
🎩
🏃
2:45:05Run the game to see our lighting performance
🎩
🏃
2:45:05Run the game to see our lighting performance
🎩
🏃
2:46:42steamymcfly Q: Will you add tone mapping at some point?
🗪
🎩
2:46:42steamymcfly Q: Will you add tone mapping at some point?
🗪
🎩
2:46:42steamymcfly Q: Will you add tone mapping at some point?
🗪
🎩
2:46:55stormblaz Q: Can you implement more light sources later? Like holding a torch, or such or other sources of light?
🗪
🎩
2:46:55stormblaz Q: Can you implement more light sources later? Like holding a torch, or such or other sources of light?
🗪
🎩
2:46:55stormblaz Q: Can you implement more light sources later? Like holding a torch, or such or other sources of light?
🗪
🎩
2:47:01Run the game to show all of the light sources
🎩
🏃
2:47:01Run the game to show all of the light sources
🎩
🏃
2:47:01Run the game to show all of the light sources
🎩
🏃
2:48:14somebody_took_my_name Q: Not exactly on topic but you don't use your attempt in the for loop in SplitBox()
🗪
🎩
2:48:14somebody_took_my_name Q: Not exactly on topic but you don't use your attempt in the for loop in SplitBox()
🗪
🎩
2:48:14somebody_took_my_name Q: Not exactly on topic but you don't use your attempt in the for loop in SplitBox()
🗪
🎩
2:49:08Set DimIndex = NextDimIndex at the end of SplitBox()
🎩
🖮
2:49:08Set DimIndex = NextDimIndex at the end of SplitBox()
🎩
🖮
2:49:08Set DimIndex = NextDimIndex at the end of SplitBox()
🎩
🖮
2:49:39Run the game to see that everything seems fine, and note that the lighting bounds should be based on the camera
🎩
🏃
2:49:39Run the game to see that everything seems fine, and note that the lighting bounds should be based on the camera
🎩
🏃
2:49:39Run the game to see that everything seems fine, and note that the lighting bounds should be based on the camera
🎩
🏃
2:50:22jacksonbanan Q: What's the differences between the game without OpenGL and with OpenGL?
🗪
🎩
2:50:22jacksonbanan Q: What's the differences between the game without OpenGL and with OpenGL?
🗪
🎩
2:50:22jacksonbanan Q: What's the differences between the game without OpenGL and with OpenGL?
🗪
🎩
2:50:45somebody_took_my_name Q: Yep, otherwise it was a useless loop
🗪
🎩
2:50:45somebody_took_my_name Q: Yep, otherwise it was a useless loop
🗪
🎩
2:50:45somebody_took_my_name Q: Yep, otherwise it was a useless loop
🗪
🎩
2:51:04jim0_o Q: Have you tried the Clang compiler (on windows, the versions of the last few months)? I have been loving the error messages, e.g. it rolls out scopes of macros. (I have it on F3 for when VisualStudio messages fail me.) Just wondering about your opinion if you have used it
🗪
🎩
2:51:04jim0_o Q: Have you tried the Clang compiler (on windows, the versions of the last few months)? I have been loving the error messages, e.g. it rolls out scopes of macros. (I have it on F3 for when VisualStudio messages fail me.) Just wondering about your opinion if you have used it
🗪
🎩
2:51:04jim0_o Q: Have you tried the Clang compiler (on windows, the versions of the last few months)? I have been loving the error messages, e.g. it rolls out scopes of macros. (I have it on F3 for when VisualStudio messages fail me.) Just wondering about your opinion if you have used it
🗪
🎩
2:54:08Close it down with a few words on updating the Molly Rocket website
🎩
🗩
2:54:08Close it down with a few words on updating the Molly Rocket website
🎩
🗩
2:54:08Close it down with a few words on updating the Molly Rocket website
🎩
🗩