@Jordan69 No, you can compile your shaders and link them whenever you need them. But keep in mind that your shaders are compiled by the GPU at runtime. So, compilation takes time and you can't afford to do this everytime you render a single frame. Thus it's wise to have some init function that is called only on startup or when you need to make changes to your shader program(s).