Handmade Hero»Episode Guide
Investigating Octahedral Interpolation
?
?

Keyboard Navigation

Global Keys

[, < / ], > Jump to previous / next episode
W, K, P / S, J, N Jump to previous / next marker
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 Movement

a
w
s
d
h j k l


Quotes and References Menus

Enter Jump to timecode

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:03Recap and set the stage for the day streamlining the lighting system, operating directly in the octahedral map, and hook up the light convection
🗩
0:03Recap and set the stage for the day streamlining the lighting system, operating directly in the octahedral map, and hook up the light convection
🗩
0:03Recap and set the stage for the day streamlining the lighting system, operating directly in the octahedral map, and hook up the light convection
🗩
4:58Determine to hook up the bounce-based light convection
🗩
4:58Determine to hook up the bounce-based light convection
🗩
4:58Determine to hook up the bounce-based light convection
🗩
6:02Demo the current state of the lighting
🏃
6:02Demo the current state of the lighting
🏃
6:02Demo the current state of the lighting
🏃
7:57On assuming we have a bug, and not rationalising away by manufacturing an explanation that the code is correct
🗩
7:57On assuming we have a bug, and not rationalising away by manufacturing an explanation that the code is correct
🗩
7:57On assuming we have a bug, and not rationalising away by manufacturing an explanation that the code is correct
🗩
13:16Determine to investigate the octahedral interpolation
🏃
13:16Determine to investigate the octahedral interpolation
🏃
13:16Determine to investigate the octahedral interpolation
🏃
15:50Prevent GenerateRoom() from varying the floor height
15:50Prevent GenerateRoom() from varying the floor height
15:50Prevent GenerateRoom() from varying the floor height
16:54Take a close look at the apparent square lighting falloff artifact
🏃
16:54Take a close look at the apparent square lighting falloff artifact
🏃
16:54Take a close look at the apparent square lighting falloff artifact
🏃
21:25Try making SumLight() in CompileZBiasProgram() overwrite the top-level voxel with the value of the first bottom-level voxel
21:25Try making SumLight() in CompileZBiasProgram() overwrite the top-level voxel with the value of the first bottom-level voxel
21:25Try making SumLight() in CompileZBiasProgram() overwrite the top-level voxel with the value of the first bottom-level voxel
21:58Note the weird shape of our angular falloff
🏃
21:58Note the weird shape of our angular falloff
🏃
21:58Note the weird shape of our angular falloff
🏃
23:19Scrutinise SumLight() in CompileZBiasProgram() for anything that may affect the angular falloff
📖
23:19Scrutinise SumLight() in CompileZBiasProgram() for anything that may affect the angular falloff
📖
23:19Scrutinise SumLight() in CompileZBiasProgram() for anything that may affect the angular falloff
📖
25:41Try making SumLight() in CompileZBiasProgram() lookup into the octahedral light map at a known location
25:41Try making SumLight() in CompileZBiasProgram() lookup into the octahedral light map at a known location
25:41Try making SumLight() in CompileZBiasProgram() lookup into the octahedral light map at a known location
26:10Find no interpolation variance while moving the camera
🏃
26:10Find no interpolation variance while moving the camera
🏃
26:10Find no interpolation variance while moving the camera
🏃
26:43Revert SumLight() in CompileZBiasProgram() to interpolate the full voxel hierarchy
26:43Revert SumLight() in CompileZBiasProgram() to interpolate the full voxel hierarchy
26:43Revert SumLight() in CompileZBiasProgram() to interpolate the full voxel hierarchy
26:50Find that our lighting interpolates coherently, which suggests that our weirdness is coming from the octahedral light map
🏃
26:50Find that our lighting interpolates coherently, which suggests that our weirdness is coming from the octahedral light map
🏃
26:50Find that our lighting interpolates coherently, which suggests that our weirdness is coming from the octahedral light map
🏃
28:15Revert SumLight(0 in CompileZBiasProgram() to lookup into the octahedral light map in the correct direction
28:15Revert SumLight(0 in CompileZBiasProgram() to lookup into the octahedral light map in the correct direction
28:15Revert SumLight(0 in CompileZBiasProgram() to lookup into the octahedral light map in the correct direction
28:21Take a close look at the octahedral-shaped lighting falloff artifact, in conjunction with Jeff Knox's octahedral unwrapping visualisation in Desmos1
🏃
28:21Take a close look at the octahedral-shaped lighting falloff artifact, in conjunction with Jeff Knox's octahedral unwrapping visualisation in Desmos1
🏃
28:21Take a close look at the octahedral-shaped lighting falloff artifact, in conjunction with Jeff Knox's octahedral unwrapping visualisation in Desmos1
🏃
33:31Disable interpolation in OpenGLChangeToSettings()
33:31Disable interpolation in OpenGLChangeToSettings()
33:31Disable interpolation in OpenGLChangeToSettings()
34:45See a hard-edged artifact
🏃
34:45See a hard-edged artifact
🏃
34:45See a hard-edged artifact
🏃
35:21Set up to make EndLightingComputation() copy known values to the border rows
35:21Set up to make EndLightingComputation() copy known values to the border rows
35:21Set up to make EndLightingComputation() copy known values to the border rows
37:09See no change
🏃
37:09See no change
🏃
37:09See no change
🏃
37:18Make OpenGLChangeToSettings() zoom out the light map viewer
37:18Make OpenGLChangeToSettings() zoom out the light map viewer
37:18Make OpenGLChangeToSettings() zoom out the light map viewer
38:18View the light map
🏃
38:18View the light map
🏃
38:18View the light map
🏃
38:46Make EndLightingComputation() copy known values to the border rows
38:46Make EndLightingComputation() copy known values to the border rows
38:46Make EndLightingComputation() copy known values to the border rows
38:56See the red and green lines in the light map viewer, but not in the game
🏃
38:56See the red and green lines in the light map viewer, but not in the game
🏃
38:56See the red and green lines in the light map viewer, but not in the game
🏃
39:46Enable interpolation in OpenGLChangeToSettings()
39:46Enable interpolation in OpenGLChangeToSettings()
39:46Enable interpolation in OpenGLChangeToSettings()
40:15See our red and green, but not at the artifact edges
🏃
40:15See our red and green, but not at the artifact edges
🏃
40:15See our red and green, but not at the artifact edges
🏃
40:33Disable interpolation in OpenGLChangeToSettings()
40:33Disable interpolation in OpenGLChangeToSettings()
40:33Disable interpolation in OpenGLChangeToSettings()
40:41Consider our artifact to occupy the interior of the octahedral light map
🏃
40:41Consider our artifact to occupy the interior of the octahedral light map
🏃
40:41Consider our artifact to occupy the interior of the octahedral light map
🏃
40:52Make EndLightingComputation() copy known values to the border columns
40:52Make EndLightingComputation() copy known values to the border columns
40:52Make EndLightingComputation() copy known values to the border columns
41:35See the yellow and cyan lines in the light map viewer, but not in the game
🏃
41:35See the yellow and cyan lines in the light map viewer, but not in the game
🏃
41:35See the yellow and cyan lines in the light map viewer, but not in the game
🏃
41:54Enable interpolation in OpenGLChangeToSettings()
41:54Enable interpolation in OpenGLChangeToSettings()
41:54Enable interpolation in OpenGLChangeToSettings()
42:02See our yellow and cyan, but not at the artifact edges
🏃
42:02See our yellow and cyan, but not at the artifact edges
🏃
42:02See our yellow and cyan, but not at the artifact edges
🏃
42:17Disable interpolation in OpenGLChangeToSettings()
42:17Disable interpolation in OpenGLChangeToSettings()
42:17Disable interpolation in OpenGLChangeToSettings()
42:22Consider our copy operation not to be implicated
🏃
42:22Consider our copy operation not to be implicated
🏃
42:22Consider our copy operation not to be implicated
🏃
43:08Try making SumLight() in CompileZBiasProgram() overwrite the top-level voxel with the value of the first bottom-level voxel
43:08Try making SumLight() in CompileZBiasProgram() overwrite the top-level voxel with the value of the first bottom-level voxel
43:08Try making SumLight() in CompileZBiasProgram() overwrite the top-level voxel with the value of the first bottom-level voxel
43:30Clearly view our diamond-shaped artifact
🏃
43:30Clearly view our diamond-shaped artifact
🏃
43:30Clearly view our diamond-shaped artifact
🏃
47:28Make OpenGLChangeToSettings() zoom out the light map viewer
47:28Make OpenGLChangeToSettings() zoom out the light map viewer
47:28Make OpenGLChangeToSettings() zoom out the light map viewer
47:38See no especially bright areas in the light map viewer
🏃
47:38See no especially bright areas in the light map viewer
🏃
47:38See no especially bright areas in the light map viewer
🏃
48:06Pan around the light map for our expected bright areas
🏃
🖮
48:06Pan around the light map for our expected bright areas
🏃
🖮
48:06Pan around the light map for our expected bright areas
🏃
🖮
53:15See two identical neighbouring values in the light map
🏃
53:15See two identical neighbouring values in the light map
🏃
53:15See two identical neighbouring values in the light map
🏃
54:45Continuities
🏃
54:45Continuities
🏃
54:45Continuities
🏃
55:58Enable interpolation in OpenGLChangeToSettings()
55:58Enable interpolation in OpenGLChangeToSettings()
55:58Enable interpolation in OpenGLChangeToSettings()
56:14Discontinuities in the rate of change
🏃
56:14Discontinuities in the rate of change
🏃
56:14Discontinuities in the rate of change
🏃
58:23Toggle on EDGE_COLORING in EndLightingComputation()
58:23Toggle on EDGE_COLORING in EndLightingComputation()
58:23Toggle on EDGE_COLORING in EndLightingComputation()
58:30Disable interpolation in OpenGLChangeToSettings()
58:30Disable interpolation in OpenGLChangeToSettings()
58:30Disable interpolation in OpenGLChangeToSettings()
58:40Recall that the artifact is not on an edge copy
🏃
58:40Recall that the artifact is not on an edge copy
🏃
58:40Recall that the artifact is not on an edge copy
🏃
1:00:17Make EndLightingComputation() write purple structured art into the interior of the octahedral light map, with thanks to Mike Biddlecombe
1:00:17Make EndLightingComputation() write purple structured art into the interior of the octahedral light map, with thanks to Mike Biddlecombe
1:00:17Make EndLightingComputation() write purple structured art into the interior of the octahedral light map, with thanks to Mike Biddlecombe
1:01:29See a great swathe of purple, revealing that the artifact is from the interpolation between texels
🏃
1:01:29See a great swathe of purple, revealing that the artifact is from the interpolation between texels
🏃
1:01:29See a great swathe of purple, revealing that the artifact is from the interpolation between texels
🏃
1:02:53Make EndLightingComputation() write a 3×3 structured art matrix in the octahedral light map
1:02:53Make EndLightingComputation() write a 3×3 structured art matrix in the octahedral light map
1:02:53Make EndLightingComputation() write a 3×3 structured art matrix in the octahedral light map
1:05:41View our structured art
🏃
1:05:41View our structured art
🏃
1:05:41View our structured art
🏃
1:06:14Enable interpolation in OpenGLChangeToSettings()
1:06:14Enable interpolation in OpenGLChangeToSettings()
1:06:14Enable interpolation in OpenGLChangeToSettings()
1:06:22See our bilinear interpolation artifact, and consider trying radial interpolation
🏃
1:06:22See our bilinear interpolation artifact, and consider trying radial interpolation
🏃
1:06:22See our bilinear interpolation artifact, and consider trying radial interpolation
🏃
1:09:06Make EndLightingComputation() blank out the central texel of our 3×3 matrix
1:09:06Make EndLightingComputation() blank out the central texel of our 3×3 matrix
1:09:06Make EndLightingComputation() blank out the central texel of our 3×3 matrix
1:09:19See the bilinear interpolation artifacts radiating from the centre
🏃
1:09:19See the bilinear interpolation artifacts radiating from the centre
🏃
1:09:19See the bilinear interpolation artifacts radiating from the centre
🏃
1:10:12Consider writing our own radial interpolation in CompileZBiasProgram(), seeing what Texture Lookup Functions are available in OpenGL 3.22
📖
1:10:12Consider writing our own radial interpolation in CompileZBiasProgram(), seeing what Texture Lookup Functions are available in OpenGL 3.22
📖
1:10:12Consider writing our own radial interpolation in CompileZBiasProgram(), seeing what Texture Lookup Functions are available in OpenGL 3.22
📖
1:14:52Embark on implementing our own radial interpolation routine in CompileZBiasProgram()
1:14:52Embark on implementing our own radial interpolation routine in CompileZBiasProgram()
1:14:52Embark on implementing our own radial interpolation routine in CompileZBiasProgram()
1:19:50Bilinear Fudge
🖌
1:19:50Bilinear Fudge
🖌
1:19:50Bilinear Fudge
🖌
1:22:06Fudging Bilinear to be Radial
🖌
1:22:06Fudging Bilinear to be Radial
🖌
1:22:06Fudging Bilinear to be Radial
🖌
1:28:41Graph our radial interpolation equation in Desmos3
📖
1:28:41Graph our radial interpolation equation in Desmos3
📖
1:28:41Graph our radial interpolation equation in Desmos3
📖
1:55:28Understanding our radial discontinuity
🖌
1:55:28Understanding our radial discontinuity
🖌
1:55:28Understanding our radial discontinuity
🖌
1:57:33Hack our radial interpolation equation in to CompileZBiasProgram()4
1:57:33Hack our radial interpolation equation in to CompileZBiasProgram()4
1:57:33Hack our radial interpolation equation in to CompileZBiasProgram()4
2:05:36With the radial interpolation toggled off, see our bilinear interpolation artifacts
🏃
2:05:36With the radial interpolation toggled off, see our bilinear interpolation artifacts
🏃
2:05:36With the radial interpolation toggled off, see our bilinear interpolation artifacts
🏃
2:06:07Manually reproduce the bilinear interpolation in CompileZBiasProgram()
2:06:07Manually reproduce the bilinear interpolation in CompileZBiasProgram()
2:06:07Manually reproduce the bilinear interpolation in CompileZBiasProgram()
2:07:17Bilinear Interpolation
🖌
2:07:17Bilinear Interpolation
🖌
2:07:17Bilinear Interpolation
🖌
2:10:17Toggle on and complete our manual interpolation path in CompileZBiasProgram()5
2:10:17Toggle on and complete our manual interpolation path in CompileZBiasProgram()5
2:10:17Toggle on and complete our manual interpolation path in CompileZBiasProgram()5
2:12:17Hit and fix shader validation errors
🏃
🖮
2:12:17Hit and fix shader validation errors
🏃
🖮
2:12:17Hit and fix shader validation errors
🏃
🖮
2:13:36See our manual bilinear interpolation artifacts
🏃
2:13:36See our manual bilinear interpolation artifacts
🏃
2:13:36See our manual bilinear interpolation artifacts
🏃
2:14:10Toggle off our manual interpolation path in CompileZBiasProgram()
2:14:10Toggle off our manual interpolation path in CompileZBiasProgram()
2:14:10Toggle off our manual interpolation path in CompileZBiasProgram()
2:14:16See a difference between our and OpenGL's bilinear interpolation
🏃
2:14:16See a difference between our and OpenGL's bilinear interpolation
🏃
2:14:16See a difference between our and OpenGL's bilinear interpolation
🏃
2:15:26Offsetting our manual bilinear interpolation
🖌
2:15:26Offsetting our manual bilinear interpolation
🖌
2:15:26Offsetting our manual bilinear interpolation
🖌
2:16:24Offset our manual bilinear interpolation back by half a pixel in CompileZBiasProgram()
2:16:24Offset our manual bilinear interpolation back by half a pixel in CompileZBiasProgram()
2:16:24Offset our manual bilinear interpolation back by half a pixel in CompileZBiasProgram()
2:16:48See no difference between our and OpenGL's bilinear interpolation
🏃
🖮
2:16:48See no difference between our and OpenGL's bilinear interpolation
🏃
🖮
2:16:48See no difference between our and OpenGL's bilinear interpolation
🏃
🖮
2:17:35Toggle on our radial interpolation in CompileZBiasProgram()
2:17:35Toggle on our radial interpolation in CompileZBiasProgram()
2:17:35Toggle on our radial interpolation in CompileZBiasProgram()
2:18:19See our radial falloff
🏃
2:18:19See our radial falloff
🏃
2:18:19See our radial falloff
🏃
2:18:45Toggle off our manual interpolation path in CompileZBiasProgram()
2:18:45Toggle off our manual interpolation path in CompileZBiasProgram()
2:18:45Toggle off our manual interpolation path in CompileZBiasProgram()
2:18:55See OpenGL's bilinear interpolation artifact return
🏃
2:18:55See OpenGL's bilinear interpolation artifact return
🏃
2:18:55See OpenGL's bilinear interpolation artifact return
🏃
2:19:01Toggle on our manual interpolation path in CompileZBiasProgram()
2:19:01Toggle on our manual interpolation path in CompileZBiasProgram()
2:19:01Toggle on our manual interpolation path in CompileZBiasProgram()
2:19:06Take a close look at our radial interpolation
🏃
2:19:06Take a close look at our radial interpolation
🏃
2:19:06Take a close look at our radial interpolation
🏃
2:19:39Let EndLightingComputation() produce real lighting values in our 3×3 structured art matrix
2:19:39Let EndLightingComputation() produce real lighting values in our 3×3 structured art matrix
2:19:39Let EndLightingComputation() produce real lighting values in our 3×3 structured art matrix
2:19:49Perceive but prefer our radial interpolation discontinuities
🏃
2:19:49Perceive but prefer our radial interpolation discontinuities
🏃
2:19:49Perceive but prefer our radial interpolation discontinuities
🏃
2:20:14Revert SumLight() in CompileZBiasProgram() to interpolate the full voxel hierarchy
2:20:14Revert SumLight() in CompileZBiasProgram() to interpolate the full voxel hierarchy
2:20:14Revert SumLight() in CompileZBiasProgram() to interpolate the full voxel hierarchy
2:21:01View our smoothly interpolated lighting
🏃
2:21:01View our smoothly interpolated lighting
🏃
2:21:01View our smoothly interpolated lighting
🏃
2:21:46Revert CompileZBiasProgram() to modulate the world's real colours with light
2:21:46Revert CompileZBiasProgram() to modulate the world's real colours with light
2:21:46Revert CompileZBiasProgram() to modulate the world's real colours with light
2:21:55View our really lit world
🏃
2:21:55View our really lit world
🏃
2:21:55View our really lit world
🏃
2:22:16Q&A
🗩
2:22:16Q&A
🗩
2:22:16Q&A
🗩
2:22:50devsigner Q: Why is the lighting behind the character so dark? Shouldn't a point light be more round?
🗪
2:22:50devsigner Q: Why is the lighting behind the character so dark? Shouldn't a point light be more round?
🗪
2:22:50devsigner Q: Why is the lighting behind the character so dark? Shouldn't a point light be more round?
🗪
2:24:03somebody_took_my_name Q: For a look at Desmos: see 'Untitled Graph'6
🗪
2:24:03somebody_took_my_name Q: For a look at Desmos: see 'Untitled Graph'6
🗪
2:24:03somebody_took_my_name Q: For a look at Desmos: see 'Untitled Graph'6
🗪
2:26:28centhusiast Q: How fast is this lighting method when we compile in debug mode?
🗪
2:26:28centhusiast Q: How fast is this lighting method when we compile in debug mode?
🗪
2:26:28centhusiast Q: How fast is this lighting method when we compile in debug mode?
🗪
2:26:56jessem3y3r Q: I have to say that your debug videos are often more educational than implementation-heavy ones. Very insightful into your process. Thanks!
🗪
2:26:56jessem3y3r Q: I have to say that your debug videos are often more educational than implementation-heavy ones. Very insightful into your process. Thanks!
🗪
2:26:56jessem3y3r Q: I have to say that your debug videos are often more educational than implementation-heavy ones. Very insightful into your process. Thanks!
🗪
2:28:38xrxr13579 Q: Is octahedral lighting the only way to go for what you want?
🗪
2:28:38xrxr13579 Q: Is octahedral lighting the only way to go for what you want?
🗪
2:28:38xrxr13579 Q: Is octahedral lighting the only way to go for what you want?
🗪
2:29:32philliptrudeau Q: Once you take depth samples, could you do bounce lighting by fetching the depth sample and then moving that far down the normal to seek directly to the next voxel?
🗪
2:29:32philliptrudeau Q: Once you take depth samples, could you do bounce lighting by fetching the depth sample and then moving that far down the normal to seek directly to the next voxel?
🗪
2:29:32philliptrudeau Q: Once you take depth samples, could you do bounce lighting by fetching the depth sample and then moving that far down the normal to seek directly to the next voxel?
🗪
2:30:26somebody_took_my_name Q: Sorry that was just a temp graph, I hadn't saved it. But now with an account and all, the permanent link (I guess) is here7
🗪
2:30:26somebody_took_my_name Q: Sorry that was just a temp graph, I hadn't saved it. But now with an account and all, the permanent link (I guess) is here7
🗪
2:30:26somebody_took_my_name Q: Sorry that was just a temp graph, I hadn't saved it. But now with an account and all, the permanent link (I guess) is here7
🗪
2:31:36kniffel5 Q: Could you do a stream on RAD's Telemetry8 one day, showing all the things you can do with it? I'm really interested in the tool, but the only good video source on it is Jon Blow, and his streams aren't very "tutorial-y" by nature!
🗪
2:31:36kniffel5 Q: Could you do a stream on RAD's Telemetry8 one day, showing all the things you can do with it? I'm really interested in the tool, but the only good video source on it is Jon Blow, and his streams aren't very "tutorial-y" by nature!
🗪
2:31:36kniffel5 Q: Could you do a stream on RAD's Telemetry8 one day, showing all the things you can do with it? I'm really interested in the tool, but the only good video source on it is Jon Blow, and his streams aren't very "tutorial-y" by nature!
🗪
2:33:23philliptrudeau Q: With the octahedral map, both the bilinear filtering and the "puffy" filtering seemed to have a pretty quick falloff between samples. Would you consider doing something like bi-cubic filtering for a smoother blend?
🗪
2:33:23philliptrudeau Q: With the octahedral map, both the bilinear filtering and the "puffy" filtering seemed to have a pretty quick falloff between samples. Would you consider doing something like bi-cubic filtering for a smoother blend?
🗪
2:33:23philliptrudeau Q: With the octahedral map, both the bilinear filtering and the "puffy" filtering seemed to have a pretty quick falloff between samples. Would you consider doing something like bi-cubic filtering for a smoother blend?
🗪
2:37:08centhusiast Q: Do you you use any equation for the light density attenuation?
🗪
2:37:08centhusiast Q: Do you you use any equation for the light density attenuation?
🗪
2:37:08centhusiast Q: Do you you use any equation for the light density attenuation?
🗪
2:37:29kniffel5 Q: Thanks! Do you know if RAD has discounts for students?
🗪
2:37:29kniffel5 Q: Thanks! Do you know if RAD has discounts for students?
🗪
2:37:29kniffel5 Q: Thanks! Do you know if RAD has discounts for students?
🗪
2:38:37centhusiast Q: Yes, I meant intensity attenuation?
🗪
2:38:37centhusiast Q: Yes, I meant intensity attenuation?
🗪
2:38:37centhusiast Q: Yes, I meant intensity attenuation?
🗪
2:39:28xrxr13579 Q: Would you ever go back to RAD?
🗪
2:39:28xrxr13579 Q: Would you ever go back to RAD?
🗪
2:39:28xrxr13579 Q: Would you ever go back to RAD?
🗪
2:40:06mattiamanzati Q: Does the paper from nVidia about octahedral sampling9 cover also the sampling filter, or did they just use linear and bump up the size of the bitmap to have more samples?
🗪
2:40:06mattiamanzati Q: Does the paper from nVidia about octahedral sampling9 cover also the sampling filter, or did they just use linear and bump up the size of the bitmap to have more samples?
🗪
2:40:06mattiamanzati Q: Does the paper from nVidia about octahedral sampling9 cover also the sampling filter, or did they just use linear and bump up the size of the bitmap to have more samples?
🗪
2:47:47roblovski Q: When doing game logic, do you think it's ever a good idea to write in async / await style and have that transformed into a state machine?
🗪
2:47:47roblovski Q: When doing game logic, do you think it's ever a good idea to write in async / await style and have that transformed into a state machine?
🗪
2:47:47roblovski Q: When doing game logic, do you think it's ever a good idea to write in async / await style and have that transformed into a state machine?
🗪
2:50:36xrxr13579 Q: Thoughts on the ML family of languages and tagged unions?
🗪
2:50:36xrxr13579 Q: Thoughts on the ML family of languages and tagged unions?
🗪
2:50:36xrxr13579 Q: Thoughts on the ML family of languages and tagged unions?
🗪
2:51:18centhusiast Q: Do you know about the inverse distance weight interpolation method? Do you think it can be used for games?
🗪
2:51:18centhusiast Q: Do you know about the inverse distance weight interpolation method? Do you think it can be used for games?
🗪
2:51:18centhusiast Q: Do you know about the inverse distance weight interpolation method? Do you think it can be used for games?
🗪
2:51:34nickito97 Q: What do you think of C++20 modules and, separately, of constexpr in C++ in general?
🗪
2:51:34nickito97 Q: What do you think of C++20 modules and, separately, of constexpr in C++ in general?
🗪
2:51:34nickito97 Q: What do you think of C++20 modules and, separately, of constexpr in C++ in general?
🗪
2:51:56cyberimmersion Q: I've only really focused much on python, and I'm trying to learn another language. What do you think of Golang?
🗪
2:51:56cyberimmersion Q: I've only really focused much on python, and I'm trying to learn another language. What do you think of Golang?
🗪
2:51:56cyberimmersion Q: I've only really focused much on python, and I'm trying to learn another language. What do you think of Golang?
🗪
2:52:08Wind it down
🗩
2:52:08Wind it down
🗩
2:52:08Wind it down
🗩