2011-08-22 8 views
9

は最後に、私はhttp://www.khronos.org/webgl/http://learningwebgl.comhttps://developer.mozilla.org/en/WebGLglMatrix、Sylvester、CanvasMatrixのいずれかを選択しますか?

からチュートリアルを開始しかし、問題は/使用される各チュートリアルでは、行列計算のために別のライブラリをお勧めしていることで、地面から自分のWebGLの3Dエンジンを作ることにしたので、私はよ混乱している!

  • クロノスはCanvasMatrixをお勧めします(しかし、今、彼らは、AppleからJ3DI.jsに切り替える?)
  • Mozillaのシルベスターのすべての方法をお勧めします!
  • Learningwebgl.com glMatrix
  • お勧めします

質問です:3D WebGLのアプリケーション、チャートやゲームに適していますどちら? (パフォーマンスとユーザビリティの問題の両方)

おかげで、私はglMatrixを使用し、それが正常に動作しますhttp://glmatrix.googlecode.com/hg/benchmark/matrix_benchmark.html

答えて

7

ルック。 APIは少し奇妙です。

var in = vec3.create([1, 2, 3]); 

//overwrite 'in' in-place 
vec3.scale(in, 2); 

//write output to a different vector 
var out = vec3.create(); 
vec3.scale(in, 2, out); 

それともglMatrix 2

ため
var in = vec3.fromValues(1, 2, 3); 

//overwrite 'in' in-place 
vec3.scale(in, in, 2); 

//write output to a different vector 
var out = vec3.create(); 
vec3.scale(out, in, 2); 

しかし、それは速いです、それは私がしたい操作をサポートし、それは簡単です。ソースが分かりやすい

他のユーザーとの経験はありませんが、

更新:

http://stepheneb.github.com/webgl-matrix-benchmarks/matrix_benchmark.htmlで入手可能な複数のライブラリーのベンチマークがあります。私のMacのChromeでは、Closureが勝利を収めています。私のPC上のChromeでは、それははるかに多くのことです。私はまだglMatrixを使用しています。なぜなら、それは1つのJavascriptファイルに存在するからです。

+0

numeric.jsとSylvesterを基準にしていないことが残念です。 [numeric.jsベンチマーク](http://www.numericjs.com/benchmark.html)によると、シルベスターは、少なくとも私のシステムでは、マトリックス乗算による3x3(およびそれ以上)のマトリックスのGoogle Closureよりも高速です/ 32とChrome 20)。 – feklee

+1

ベンチマーク(プルリクエストの保留中)に[シルベスターを追加](https://github.com/feklee/webgl-matrix-benchmarks)しました。シルベスターは遅いです*。なぜ[数値Javascriptベンチマーク](http://www.numericjs.com/benchmark.html)の[Closure]より速いのですか?答え:そのベンチマークは、WebGL専用のものではなく、Closureのジェネリックマトリックス関数をテストします。 – feklee

+1

、glMatrix 2.2.0ではvec3.createはパラメータを取らず、ここに示すように作成すると長さがゼロのvec3が作成されますが、vec3.fromValues(1,2,3)は動作します – Octopus

関連する問題