2012-06-19 2 views
5

Я пишу простую библиотеку Javascript, которая использует некоторый код WebGL. Я хотел бы включить источники шейдеров inline в .js-файл, потому что мои альтернативы должны включать их как теги сценариев на каждой странице или иметь их как отдельные файлы, которые загружаются как AJAX. Ни один из этих вариантов не является особенно модульным. Однако из-за отсутствия многострочных строк в javascript у меня нет хороших идей о том, как встроить код WebGL. Есть ли подход, о котором я не думаю?Inline webgl shader code in javascript

ответ

1

Я в конечном итоге взлом это: http://github.com/noteed/language-glsl/ в коде уплотнитель, , заменив все экземпляры vcat с hsep в Language.GLSL.Pretty. Я получаю однострочную версию шейдерного кода, который у меня есть в файле, который затем можно вставить в строку. Я надеялся найти аналогичное решение, уже сделанное, когда я разместил это.

3

Используйте одну строку в строке и затем соедините их вместе, например.

var shader = [ 
    "// line1 ", 
    "// line2 ", 
].join('\n'); 

P.S. Общая проблема обсуждалась здесь раньше, см Creating multiline strings in JavaScript

+0

+1, Вот как я делаю все мои встроенные шейдеры. Самый лучший способ я нашел. – Toji

0

Это способ справиться с NetBeans случай:

var shader = 
"firstLine\n\ 
secondLine\n\ 
thirdLine"; 

Я нашел этот способ более эффективен для редактирования того, чтобы создать элемент массива для каждой строки.

 Смежные вопросы

  • Нет связанных вопросов^_^