Я использую #defines, который я передаю во время выполнения источникам своих шейдеров на основе состояния программы, чтобы оптимизировать свои огромные шейдеры, чтобы они были менее сложными. Я хотел бы записать оптимизированный шейдер в файл, чтобы при следующем запуске моей программы мне больше не приходилось передавать #defines, но я могу скомпилировать оптимизированные шейдеры во время запуска программы, потому что теперь я знаю, какие шейдеры по потребностям программы.
Есть ли способ получить результат от шейдерного препроцессора? Конечно, я могу сохранить значения #define в файле и на его основе скомпилировать шейдеры во время запуска программы, но это будет не так элегантно.