Редактирование ввода текста Javascript: Как превратить многострочный текстовый шейдер из одного ввода текста в другое представление? - PullRequest
0 голосов
/ 03 июня 2011

Итак, я хочу иметь 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 Ответ

1 голос
/ 03 июня 2011

попробуйте регулярные выражения.

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/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...