2012-06-19 21 views
5

Sto scrivendo una semplice libreria Javascript che utilizza un codice WebGL. Mi piacerebbe includere le fonti di shader in linea nel file .js, perché le mie alternative sono includerle come tag di script in ogni pagina, o di averli come file separati che vengono caricati come AJAX. Nessuna di queste opzioni è particolarmente modulare. Tuttavia, a causa della mancanza di stringhe multi-linea in javascript, non ho alcuna idea valida su come integrare il codice WebGL. C'è un approccio a cui non sto pensando?Codice shader webline inline in javascript

risposta

1

ho finito per l'hacking questo: http://github.com/noteed/language-glsl/ in un compattatore di codice, sostituendo tutte le istanze di vcat con hsep in Language.GLSL.Pretty. Ricevo una versione a una riga del codice shader che ho in un file, che posso quindi incollare in una stringa. Speravo di trovare una soluzione simile già fatta quando ho postato questo.

3

Utilizzare una stringa singola per riga e quindi unirle insieme, ad es.

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

P.S. Il problema generale è stato discusso qui prima, vedi Creating multiline strings in JavaScript

+0

+1, questo è il modo in cui eseguo tutti i miei shader in linea. Il modo migliore che ho trovato ancora. – Toji

0

Questo è il modo di gestire NetBeans caso:

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

ho trovato questo modo più efficiente per l'editing di dover creare un elemento array per ogni linea.