Files
learnopengl/glsl2c.py
Loïc GUEZO 239e0c2b62 fix(glsl2c.py): added a few missing things.
- place "};\n" at the end of the array
- remove Path() class to unnecessary variables such as dst
2025-12-30 16:50:32 +01:00

35 lines
759 B
Python

#!/usr/bin/env python3
import sys
from pathlib import Path
src = sys.argv[1]
dst = sys.argv[2]
if len(sys.argv) != 3 or not src.endswith((".glsl", ".vert", ".frag")):
sys.exit(1)
# variable name
varname = src.replace("/", "_").replace(".", "_")
# read to binary mode
content = Path(src).read_bytes()
line = 12
with open(dst, "w") as f:
# content array
f.write(f"unsigned char {varname}[] = {{\n")
for i, byte in enumerate(content):
# tab
if i % line == 0:
f.write("\t")
# hexa
f.write(f"0x{byte:02x}, ")
# LF/CRLF
if (i + 1) % line == 0:
f.write("\n")
f.write("};\n")
# content size
f.write(f"unsigned int {varname}_len = {len(content)};")