Poiché il webgl/opengl non supporta il disegno di testo, quindi è possibile disegnare oggetti 3D utilizzando il contesto 3D e il disegno del testo utilizzando il contesto 2D?Tela Disegno 3D utilizzando sia il contesto 2D che 3D
risposta
No, sfortunatamente no.
Il HTML 5 spec dice che se si chiama getContext
su un elemento di tela che è già in una diversa context mode ei due contesti non sono compatibili per poi tornare null
.
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
Creare il testo come una trama utilizzando il canvas 2D, quindi renderlo in 3D. Vedi here per un tutorial.
Come detto, non si può fare questo.
Tuttavia è possibile posizionare una tela sopra un'altra e disegnare separatamente. L'ho già fatto e può funzionare abbastanza bene.
Per ulteriori informazioni, vedere questa domanda: http://stackoverflow.com/questions/3008635/html5-canvas-element-multiple-layers – 1j01
Ma se il testo viene aggiornato dinamicamente, il rendering del testo diventerà lento. – Pointer
Il rendering del testo è lento comunque. –