import subprocess, os #SHADERC = "..\\out\\install\\x64-Debug\\bin\\shaderc" SHADERC = "/Users/lachrymal/Projects/NouVeL/build/ADVect/ext/bgfx/Debug/shaderc" #OUT = "..\\out\\build\\x64-Debug\\ADVect\\shaders\\" # OUT = "..\\build\\ADVect\\shaders\\" OUT = "/Users/lachrymal/Projects/NouVeL/ADVect/runtime/shaders/" P = lambda location, platform, frag, vert: { 'location': location, 'platform': platform, 'frag': frag, 'vert': vert } plats = [ # P('glsl', 'windows', '140', '140'), # P('dx11', 'windows', 'ps_5_0', 'vs_5_0'), # P('spirv', 'windows', 'spirv', 'spirv'), P('metal', 'osx', 'metal', 'metal') ] for root, dirs, _ in os.walk('shaders'): for name in dirs: for config in plats: subprocess.run([SHADERC, "-f", os.path.join(root, name, name + '.frag'), "--type", "fragment", "--platform", config['platform'], "--profile", config['frag'], "--varyingdef", os.path.join(root, name, "varying.def.sc"), "-i", "/Users/lachrymal/Projects/NouVeL/ADVect/ext/bgfx/bgfx/examples/common", "-i", "/Users/lachrymal/Projects/NouVeL/ADVect/ext/bgfx/bgfx/src", "-o", OUT + config['location'] + "\\" + name + ".frag.bin"]) subprocess.run([SHADERC, "-f", os.path.join(root, name, name + '.vert'), "--type", "vertex", "--platform", config['platform'], "--profile", config['vert'], "--varyingdef", os.path.join(root, name, "varying.def.sc"), "-i", "/Users/lachrymal/Projects/NouVeL/ADVect/ext/bgfx/bgfx/examples/common", "-i", "/Users/lachrymal/Projects/NouVeL/ADVect/ext/bgfx/bgfx/src", "-o", OUT + config['location'] + "\\" + name + ".vert.bin"])