Javascript文本输入编辑:如何将一个文本输入中的多个字符串文本着色器转换为另一个表示形式?

时间:2011-06-03 15:58:39

标签: javascript jquery string text shader

所以我希望有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创建这样简单的工具呢?

1 个答案:

答案 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\"";

http://jsfiddle.net/t9sgA/1/