跳转到主要内容
本文档由 AI 生成。如果您发现任何错误或有改进建议,欢迎贡献! 在 GitHub 上编辑
GLSL Shader 节点将自定义的 GLSL ES 片段着色器代码应用于输入图像。它允许您编写可以处理多个图像并接受统一参数(浮点数和整数)以创建复杂视觉效果的着色器程序。输出尺寸可以由第一个输入图像决定,也可以手动设置。

输入参数

参数数据类型必填范围描述
fragment_shaderSTRING不适用GLSL 片段着色器源代码(兼容 GLSL ES 3.00 / WebGL 2.0)。默认值:一个输出第一个输入图像的基本着色器。
size_modeCOMBO"from_input"
"custom"
输出尺寸模式:‘from_input’ 使用第一个输入图像的尺寸,‘custom’ 允许手动设置尺寸。
widthINT1 到 16384size_mode 设置为 "custom" 时,输出图像的宽度。默认值:512。
heightINT1 到 16384size_mode 设置为 "custom" 时,输出图像的高度。默认值:512。
imagesIMAGE1 到 8 张图像由着色器处理的输入图像。在着色器代码中,图像以 u_image0u_image7(sampler2D)的形式提供。
floatsFLOAT0 到 8 个浮点数着色器使用的浮点型统一值。在着色器代码中,浮点数以 u_float0u_float7 的形式提供。默认值:0.0。
intsINT0 到 8 个整数着色器使用的整型统一值。在着色器代码中,整数以 u_int0u_int7 的形式提供。默认值:0。
注意:
  • 仅当 size_mode 设置为 "custom" 时,widthheight 参数才是必需的且可见。
  • 至少需要一个输入图像。
  • 着色器代码始终可以访问一个包含输出尺寸的 u_resolution(vec2)统一变量。
  • 最多可以提供 8 个输入图像、8 个浮点型统一变量和 8 个整型统一变量。

输出参数

输出名称数据类型描述
IMAGE0IMAGE着色器输出的第一个图像。在着色器代码中通过 layout(location = 0) out vec4 fragColor0 提供。
IMAGE1IMAGE着色器输出的第二个图像。在着色器代码中通过 layout(location = 1) out vec4 fragColor1 提供。
IMAGE2IMAGE着色器输出的第三个图像。在着色器代码中通过 layout(location = 2) out vec4 fragColor2 提供。
IMAGE3IMAGE着色器输出的第四个图像。在着色器代码中通过 layout(location = 3) out vec4 fragColor3 提供。