Sotto windows, ci sono due librerie 3D principali. Mi chiedo come usi WebGL quale? è configurabile? È configurabile per browser?In Windows, WebGL utilizza DirectX Runtime o OpenGL runtime?
risposta
Google Chrome e Firefox utilizzano per impostazione predefinita il wrapper ANGLE per convertire le chiamate API OpenGL a Direct3D 9.0 (per ottenere una migliore compatibilità con la maggior parte dell'hardware). Gli utenti possono modificare questo comportamento predefinito, ma sembra essere molto scomodo sostituirlo (al momento non è possibile modificare queste impostazioni in modo programmatico).
Tutti gli altri browser principali (su Windows) useranno OpenGL.
Mi chiedo come utilizzi WebGL quale?
A seconda del browser e del sistema operativo.
è configurabile?
A seconda del browser.
Configurabile per browser?
Significa JavaScript? No.
Ma perché te ne importa?
Chrome e Firefox utilizzano ANGLE in modo che funzionino fuori dalla scatola su un sistema Windows con solo i driver predefiniti forniti da Microsoft installati. Per una corretta implementazione OpenGL installata, l'utente deve aver scaricato e installato i driver originali dal rivenditore HW. In caso contrario, tutto ciò che si ottiene è un'implementazione/emulazione OpenGL-1.4 piuttosto scadente basata su Direct3D 9.
Mi interessa perché glLineWidth con ANGLE è rotto e mi fa incazzare :( – rfcoder89
Chrome utilizza ANGLE non per le prestazioni ma per la compatibilità. Sia DirectX che OpenGL utilizzano gli stessi registri GPU e eseguono le stesse istruzioni di assemblaggio dello shader, la differenza è che non tutti gli hardware hanno driver OpenGL per> = 2.0 ma quasi tutto ha driver DX9. È lì solo per non dover aggiornare i loro driver per ottenere il supporto OpenGL giusto perché la maggior parte delle aziende non si preoccupa tanto dei driver OpenGL. –
Webgl usa OpenGL di default eccetto Chrome, giusto? – user496949
Ho dato un'occhiata ad alcuni blog dedicati a Firefox e sembra che Firefox utilizzi anche ANGLE, insieme a Google Chrome. La risposta è stata corretta. – marcio