I am trying to load opengl functions on windows using glad. Soon I figured out that I need to have valid opengl context to load functions. Everything works, but I am not really sure if it's good idea to load opengl functions everytime I create window.
Are these functions shared between multiple opengl contexts or do I need to load them for every context that I create?
You need a valid OpenGL context in order to establish the connection to the driver. As long as both contexts use the same driver, everything should be fine, since functions are just entry points to that driver's DLL.
Now, there can be a problem if you create two contexts with different drivers. This can happen, for example, if you have two graphics cards by different vendors. Each context would need to load the functions from the respective driver.