[video member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Moving Worker Context Creation to the Main Thread" vod_platform=youtube id=ml5E9-tzEns annotator=Miblo] [0:45][Recap and set the stage for the day] [4:37][win32_handmade.h: Move platform_work_queue in from win32_handmade.cpp] [6:28][win32_handmade.cpp: Initialise a Thread and Queue in ThreadProc and change to testing to see that we have an OpenGLRC] [8:36][win32_handmade.cpp: Make Win32MakeQueue take a win32_thread_startup] [10:38][win32_handmade.cpp: Initialise some High and Low priority threads and make the first two LowPriStartups to be populated by Win32GetThreadStarupForGL] [13:04][win32_handmade.cpp: Replace Win32GetThreadStarupForGL with one that returns a win32_thread_startup] [14:56][Debugger: Step through the win32_thread_startup initialisations] [16:27][win32_handmade.cpp: Remove GlobalOpenGLRC and GlobalDC global variables and try stepping through again] [17:13][Run the game and see our textures] [18:03][Internet: Consult the WGL_ARB_pixel_format docs[ref site="OpenGL" page="WGL_ARB_pixel_format" url="https://www.opengl.org/registry/specs/ARB/wgl_pixel_format.txt"]] [21:34][handmade_opengl.cpp: Consider how to get the wgl extensions] [23:26][Internet: Consult the WGL_EXT_extensions_string doc to confirm that in order to check that you have a wgl extension, you have to have a wgl extension[ref site="OpenGL" page="WGL_EXT_extensions_string" url="https://www.opengl.org/registry/specs/EXT/wgl_extensions_string.txt"]] [24:34][win32_handmade.cpp: Use wglGetExtensionsStringEXT to see what extensions strings we have] [29:13][Internet: ARB_framebuffer_sRGB[ref site="OpenGL" page="ARB_framebuffer_sRGB" url="https://www.opengl.org/registry/specs/ARB/framebuffer_sRGB.txt"]] [30:48][Beg to differ][quote 401] [31:21][Debugger: Inspect our Extensions] [35:21][todo.txt: Consult the TODO list] [37:54][Run the game and test out our hot code reloading] [41:40][win32_handmade.cpp: Note that the Entry.Callback is not in the same place between builds and consider how to solve this problem] [44:19][todo.txt: Update the TODO file] [46:53][Q&A][:speech] [47:01][@Pseudonym73]["So what shall we do for the next 20 min? Maintain the TODO file"] [47:45][@Cubercaleb][There is a bug in the new GL code, the if(!) you added is not checking the sRGB variable but a different one] [53:42][@insobot][Thank you to imperiumtactics for following the channel! <3] [54:12][@Garryjohanson][Totally serious when I say you should write an API book. I would never think of lots of stuff] [55:20][@SoysauceTheKid][For the keyboard / gamepad inputs, can HalfTransitionCount ever go beyond 1? Or is it there if you put the input getting on a separate thread?] [57:40][@Cubercaleb][Kind of graphics / Windows related: Why do so many games, especially Source games handle Alt-Tab poorly?] [1:00:31][@Cynokron][Is there any benefit to moving the main windows message queue to another thread? I'm sorry if you've implemented / answered this already. I'm still catching up] [1:05:07][@gasto5][Do you use Windows's GDI outside of the educational usage you have been showing?] [1:07:26][@Fyoucon][Promote 4coder!] [1:07:31][@guitarm87][Sounds like you know how to play drums?] [1:07:38][@Cynokron][What do you think of Vulkan? Will it replace D3D?] [1:10:17][@stelar7][Selection buffer vs ray picking vs color picking for mouse picking?] [1:10:33][@SoysauceTheKid][For detecting long presses on keyboards, would I put a timestamp in the input struct?] [1:10:55][@APlethora][What is the next "feature" you are going to work on?] [1:11:06][@dgmtv][Do you think all the modern C++ nomenclatures like C++11, C++14, C++17, C++xy are an internal joke to obscure the mess the language is?] [1:12:48][@cubercaleb][Is it worth selling my soul and learning JS / Python for money?] [1:14:48][@joshuanatrop][Any thoughts on SDL2?] [1:14:56][@slay29][What technique are you going to use for path-finding?] [1:15:03][@ltdemian][Been doing a lot of JS. What do you think I should do next? Kind of bored with JS] [1:15:36][@TheBuzzSaw][Vulkan is extremely low level; that was requested by various game engine and hardware developers. There is probably a huge market for a dev-friendly API to sit on top of Vulkan to shield devs from those gory details. Don't think so?] [1:19:29][@gasto5][ow much do you follow the latest technologies? Do you think it is a waste of time to learn the latest graphics API for indie development?] [1:23:26][@erdomina][Why should no programmer work for Palantir?] [1:24:36][@guitarm87][Does Jon use more C++ specific stuff than yours do?] [1:25:58][@iWumbo_][What you think about the new Snowdrop game engine?] [1:26:24][@cubercaleb][Do you plan on using Vulkan considering the performance differences that people have been claiming exist?] [1:27:37][@balreign][Since you write everything from scratch, why not use a language like Go?] [1:28:04][@sanch3z1337][If any, what games have you been playing recently and how did you like them?] [1:28:38][@imperiumtactics][I have noticed that there is no more send email on the Handmade Hero website. Do you still reply to emails?] [1:29:24][@ltdemian][Where do you see the game development community going in the next 5-10 years?] [1:29:29][@iWumbo_][What are the main differences in, for example, C and the language your friend is developing, in three sentences or less?] [1:29:38][@anonymous835][Do you have experience with POSIX Linux system calls, fork() for example? I need to create a small Process Scheduler, but when I create a fork() inside a for cycle it messes up. I need to create N amount of processes, then save them to a FIFO list and start executing one at the time] [1:31:10][@Fyoucon][Would you want to be one of the first people to play around with JAI? Or would you wait 'till it gets more mature?] [1:32:37][@stelar7][Are you going to check out OBS Studio this weekend?] [1:32:43][@ugurkodak][Do you work on another game project other than Handmade Hero?] [1:33:21][@Mr4thDimention][Is fork a good API or a bad API?] [1:34:39][@bob_burrough][Forgive me if already asked: GDC is next week. What Handmade Hero representation at GDC?] [1:35:48][Wind things down][:speech] [/video]