NouVeL/ADVect/shader.py

34 lines
1.4 KiB
Python
Raw Normal View History

import subprocess, os
SHADERC = "/home/lach/Projects/NouVeL/build/ADVect/ext/bgfx/cmake/bgfx/shaderc"
OUT = "/home/lach/Projects/NouVeL/ADVect/runtime/shaders/"
2023-04-06 19:50:37 -04:00
P = lambda location, platform, frag, vert: { 'location': location, 'platform': platform, 'frag': frag, 'vert': vert }
2022-08-21 16:24:13 -04:00
plats = [
2023-04-06 19:50:37 -04:00
# P('glsl', 'windows', '140', '140'),
# P('dx11', 'windows', 'ps_5_0', 'vs_5_0'),
P('spirv', 'linux', 'spirv', 'spirv'),
# P('metal', 'osx', 'metal', 'metal')
2022-08-21 16:24:13 -04:00
]
for root, dirs, _ in os.walk('shaders'):
for name in dirs:
2022-08-21 16:24:13 -04:00
for config in plats:
subprocess.run([SHADERC, "-f", os.path.join(root, name, name + '.frag'),
2023-04-06 19:50:37 -04:00
"--type", "fragment",
"--platform", config['platform'],
2022-08-21 16:24:13 -04:00
"--profile", config['frag'],
"--varyingdef", os.path.join(root, name, "varying.def.sc"),
"-i", "/home/lach/Projects/NouVeL/ADVect/ext/bgfx/bgfx/examples/common",
"-i", "/home/lach/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'),
2023-04-06 19:50:37 -04:00
"--type", "vertex",
"--platform", config['platform'],
2022-08-21 16:24:13 -04:00
"--profile", config['vert'],
"--varyingdef", os.path.join(root, name, "varying.def.sc"),
"-i", "/home/lach/Projects/NouVeL/ADVect/ext/bgfx/bgfx/examples/common",
"-i", "/home/lach/Projects/NouVeL/ADVect/ext/bgfx/bgfx/src",
"-o", OUT + config['location'] + "\\" + name + ".vert.bin"])
2023-04-06 19:50:37 -04:00