nyamadan.github.io

ShaderEditorにincludeを追加

2020年4月26日

magenta

glslangには GL_GOOGLE_include_directive というのがあってこれを使えば include が使える。

これを使えば次みたいな感じにファイルを分けることができる。

vec4 magenta()
{
    return vec4(1.0, 0.0, 1.0, 1.0);
}
#version 310 es

#extension GL_GOOGLE_include_directive : enable

precision mediump float;

layout(location=0) out vec4 fragColor;

#include "./lib/color.glsl"

void main()
{
    fragColor = magenta();
}

shader_editorはファイルの変更を検知してシェーダを再コンパイルする機能がついてるけど include までは追いかけられていない。 次はこれをやる。