2012-06-19 7 views
5

WebGLコードを使用するシンプルなJavascriptライブラリを作成しています。 .jsファイルにシェーダーソースをインラインで含めることをお勧めします。これは、各ページにスクリプトタグとして含めるか、AJAXとしてロードされる個別のファイルとして保存することです。これらのオプションのどちらも特にモジュラーではありません。しかし、javascriptに複数行の文字列がないため、WebGLコードをインライン化するための良いアイディアはありません。私が考えていないアプローチはありますか?JavaScriptのインラインwebglシェーダコード

答えて

1

を参照してください私は、このハッキング終わった:Language.GLSL.Prettyにhsepvcatのすべてのインスタンスを置き換えることで、コードの圧縮機にhttp://github.com/noteed/language-glsl/、 を。私はファイル内にあるシェーダコードの1行バージョンを取得します。これを文字列に貼り付けることができます。私はこれを投稿したときにすでに同様の解決策が見つかったと思っていました。

3

1行に1つの文字列を使用し、それらを一緒に結合します(例:

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

I各行の配列アイテムを作成することよりも、編集のためにこの方法をより効率的に発見しました。

関連する問題