2012-06-19 26 views
5

我在寫一個簡單的Javascript庫,它使用了一些WebGL代碼。我想將着色器源代碼內嵌到.js文件中,因爲我的替代方法是將它們作爲腳本標記包含在每個頁面中,或者將它們作爲單獨的文件加載爲AJAX。這些選項都不是特別模塊化的。但是,由於缺少javascript中的多行字符串,我沒有任何關於如何內聯WebGL代碼的好主意。有沒有我沒有想到的方法?在javascript中嵌入webgl着色器代碼

回答

1

我結束了黑客這一點:在Language.GLSL.Pretty與hsep更換的vcat所有實例http://github.com/noteed/language-glsl/到代碼壓實, 。我得到了一個文件中的着色器代碼的單行版本,然後我可以將其粘貼到一個字符串中。當我發佈這個時,我希望能找到類似的解決方案。

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";