diff --git a/src/luaapi.c b/src/luaapi.c index dae0c5c..f28042e 100644 --- a/src/luaapi.c +++ b/src/luaapi.c @@ -3043,12 +3043,19 @@ static int parse_glsl_table(struct k3Mat *mat) { } lua_pop(L, 1); - char prefix[272]; + char prefix[512]; - snprintf(prefix, sizeof(prefix), "#version %lu\n%s", vsVer, defs); + const char *prefixfmt; + if(k3IsSoftSkinning) { + prefixfmt = "#version %lu\n%s"; + } else { + prefixfmt = "#version %lu\n#define k3_GPU_SKINNING\n%s"; + } + + snprintf(prefix, sizeof(prefix), prefixfmt, vsVer, defs); char *vsSrc = read_full_file(prefix, "assets/mdl/", vsFile, ""); - snprintf(prefix, sizeof(prefix), "#version %lu\n%s", fsVer, defs); + snprintf(prefix, sizeof(prefix), prefixfmt, fsVer, defs); char *fsSrc = read_full_file(prefix, "assets/mdl/", fsFile, ""); k3Log(k3_INFO, "Attempting to compile \"%s\" & \"%s\"...", vsFile, fsFile);