The NVIDIA developer blog shows a way to include shaders codes to your
windows exe: blogs.nvidia.com/developers/2007/03/inlining_shader.html.
But this example is not fully operational. I slightly modified the code to make it totally operational (I compiled it on vc++ 6.0):
1) Add a define to your resource.h file: #define IDF_SHADEFILE 1000 2) Add an entry in your resource.rc file: IDF_SHADERFILE RCDATA DISCARDABLE "myShader.glsl" 3) Use the resource in your code: HMODULE hModule = GetModuleHandle(NULL); HRSRC hResource = FindResource(hModule, (LPCTSTR)IDF_SHADERFILE, RT_RCDATA); if(hResource) { DWORD dwSize = SizeofResource(hModule, hResource); HGLOBAL hGlobal = LoadResource(hModule, hResource); if(hGlobal) { LPVOID pData = LockResource(hGlobal); if(pData) { // Cast pData to a char * and you have your shader char *shader_code = (char *)pData; // Now do whatever you want with shader_code pointer. // Do not forget that shader_code is not a zero-terminated string! // Use dwSize to handle that. } } }