所以我希望有2个输入场,一个可编辑。我需要一些可以转换这种着色器文本输入的脚本:
#ifdef GL_ES
precision highp float;
#endif
varying vec4 v_color;
void main (void)
{
gl_FragColor = v_color;
}
进入这样的输出:
"#ifdef GL_ES\n"
"precision highp float;\n"
"#endif\n"
"\n"
"varying vec4 v_color;\n"
"\n"
"void main (void)\n"
"{\n"
" gl_FragColor = v_color; \n"
"}"
(此类输出可以转换为openGL着色器静态字符*)
那么如何用Javascript创建这样简单的工具呢?
答案 0 :(得分:1)
尝试正则表达式。
HTML:
<textarea id="text1">#ifdef GL_ES
precision highp float;
#endif
varying vec4 v_color;
void main (void)
{
gl_FragColor = v_color;
}
</textarea>
<textarea id="text2"></textarea>
的javascript:
var text = document.getElementById("text1").value;
text = text.replace(/\n/g, "\\n\"\n\"");
document.getElementById("text2").value = "\""+text+"\\n\"";