moj_import
mojang 对 glsl 的预处理有拓展,位于 com.mojang.blaze3d.preprocessor.GlslPreprocessor
,最主要的功能是实现 #moj_import。
根据默认实现,EffectProgram(后处理着色器使用的着色器程序)无法进行 #moj_import 的操作。
#moj_import 会匹配 #moj_import ""
或 #moj_import <>
(就像是 c 语言的 #include)。
引号代表使用相对位置。例如,着色器是 shaders/core/abc.glsl
,在该着色器内写入 #moj_import "cde.glsl"
会尝试找 shaders/core/cde.glsl
文件。
尖括号代表绝对位置。例如,着色器是 shaders/core/abc.glsl
,在该着色器内写入 #moj_import <cde.glsl>
会尝试找 shaders/include/cde.glsl
文件。
moj_import
http://tt432.github.io/moj-import/