2012-06-19 13 views
5

Estoy escribiendo una biblioteca JavaScript simple que hace uso de algún código WebGL. Me gustaría incluir las fuentes de shader en línea en el archivo .js, porque mis alternativas son incluirlas como etiquetas de script en cada página, o tenerlas como archivos separados que se cargan como AJAX. Ninguna de estas opciones es particularmente modular. Sin embargo, debido a la falta de cadenas de varias líneas en javascript, no tengo buenas ideas sobre cómo alinear el código WebGL. ¿Hay un enfoque en el que no estoy pensando?Código de sombreador de webgl en línea en javascript

Respuesta

1

Terminé la piratería esto: http://github.com/noteed/language-glsl/ en un compactador de código, mediante la sustitución de todas las instancias de vcat con hsep en Language.GLSL.Pretty. Obtengo una versión de una línea del código de sombreado que tengo en un archivo, que luego puedo pegar en una cadena. Esperaba encontrar una solución similar ya hecha cuando publiqué esto.

3

Usa una sola cuerda por línea y únelas, p. Ej.

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

P.S. El problema general fue discutido aquí antes, ver Creating multiline strings in JavaScript

+0

+1, así es como hago todos mis sombreadores en línea. La mejor manera que he encontrado todavía. – Toji

0

Esta es la forma en NetBeans manejan el caso:

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

he encontrado de esta manera más eficiente para la edición de tener que crear un elemento de la matriz por cada línea.

Cuestiones relacionadas