刚学 OpenGL,如下是一段 GLSL 的代码,但是和网上搜到的 GLSL 代码结构完全不一样,请问这是什么写法?
//!HOOK SCALED
//!BIND HOOKED
//!BIND POSTKERNEL
//!SAVE POSTKERNEL
//!DESC Anime4K-ComputeLuma-v1.0RC
float getLum(vec4 rgb) {
return (rgb.r + rgb.r + rgb.g + rgb.g + rgb.g + rgb.b) / 6.0;
}
vec4 hook() { //Save lum on OUTPUT
vec4 rgb = HOOKED_tex(HOOKED_pos);
float lum = getLum(rgb);
return vec4(lum);
}
我所知道的 GLSL 需要顶点着色器和片段着色器,并且以 void main 函数起始。这段代码仅一个文件,无 main 函数,并且定义了多个hook函数,是什么意思呢?