2011-08-22 18 views
9

Son olarak, ben http://www.khronos.org/webgl/ ve http://learningwebgl.com ve https://developer.mozilla.org/en/WebGLglMatrix, Sylvester ve CanvasMatrix arasında seçim yapma?

eğitici başlar Ama sorun/kullanılan her öğretici Matris hesaplamaları için farklı kitaplık tavsiye yani sıfırdan kendi WebGL 3D motoru yapmaya karar, bu yüzden ben Şaşkın!

  • Khronos CanvasMatrix tavsiye (ama şimdi Apple'dan J3DI.js geçmek?)
  • Mozilla Sylvester tüm yol öneriyor! 3D WebGL Uygulamaları, Grafikler ve Oyunları için uygundur hangisi:
  • Learningwebgl.com

Soru olduğunu glMatrix tavsiye? (Performans ve kullanılabilirlik konularda ikisi)

Teşekkür

cevap

7

Bak http://glmatrix.googlecode.com/hg/benchmark/matrix_benchmark.html

Ben glMatrix kullanın ve iyi çalışıyor en. API biraz garip.

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

Ya

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

glMatrix 2

için

Ama hızlı, bunun bana göre operasyonları destekler ve basittir. Kaynak anlaşılabilir.

Diğerleriyle hiç deneyimim yok.

Güncelleme:

http://stepheneb.github.com/webgl-matrix-benchmarks/matrix_benchmark.html mevcut daha kütüphanelerin kriterler vardır. Mac'imde Chrome'da, Kapanış oldukça hoş bir şekilde kazanıyor. Bilgisayarımda Chrome’da, daha çok bir toss-up var. Şimdilik glMatrix kullanıyorum, çünkü tek bir Javascript dosyasında yaşıyor.

+0

Numeric.js ve Sylvester ile kıyaslama yapmadıkları için üzücü. [Numeric.js benchmark] 'a göre (http://www.numericjs.com/benchmark.html), Sylvester, en azından sistemimde (WinXP) matris çarpmalarına göre 3x3 (ve üstü) matris için Google Closure'dan daha hızlıdır./32 ile Krom 20). – feklee

+1

I [sadece Sylvester'i ekledim] (https://github.com/feklee/webgl-matrix-benchmarks) karşılaştırmaya (istek beklemede) eklendi. Sylvester * yavaş *. Neden [Numeric Javascript benchmark] (http://www.numericjs.com/benchmark.html) içindeki Kapanıştan daha hızlıdır? Cevap: Bu kıyaslama, Closure'ın genel matris fonksiyonlarını test eder, WebGL'ye adanmış olanları değil. – feklee

+1

de, glMatrix 2.2.0'da vec3.create bir parametre almaz ve burada gösterildiği gibi sıfırdan bir vec3 yaratır, ancak vec3.fromValues ​​(1,2,3) çalışır – Octopus

İlgili konular