Tela di disegno 3D utilizzando sia contesto 2D e 3D
Domanda
Dato che il WebGL / opengl non supporta disegno di testo, quindi la possibilità di disegnare oggetti 3D utilizzando contesto 3D e il disegno di testo utilizzando contesto 2D?
Soluzione
No, purtroppo no.
Il HTML 5 spec dice che se si chiamata getContext
su un elemento di tela che è già in una differente contesto rel="noreferrer"> e le due contesti non sono compatibili null
ritorno poi.
Purtroppo "WebGL" e tele "2D" non sono compatibili, e quindi si otterrà null
:
var canvas = document.getElementById('my-canvas');
var webgl = canvas.getContext("webgl"); // Get a 3D webgl context, returns a context
var twod = canvas.getContext("2d"); // Get a 2D context, returns null
Altri suggerimenti
Come già detto, non si può fare questo.
Tuttavia si può mettere una tela sopra l'altro e disegnare per loro separatamente. Ho fatto questo prima e può funzionare abbastanza bene.
Crea il testo come una texture utilizzando canvas 2D, poi il rendering in 3D. Vedere qui per un tutorial.