2010-05-28 9 views

Respuesta

23

No, desafortunadamente no.

El HTML 5 spec dice que si usted llama getContext en un elemento canvas que ya está en un diferentes context mode y los dos contextos no son compatibles luego regresar null.

desgracia "webgl" y lienzos "2D" no son compatibles y por lo tanto obtendrá 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 
4

Crea el texto como una textura usando canvas 2D, luego renderízalo en 3D. Vea here para un tutorial.

+0

Pero si el texto se actualiza dinámicamente, la renderización del texto se volverá lenta. – Pointer

+1

La representación de texto es lenta de todos modos. –

12

Como se ha dicho, no se puede hacer esto.

Sin embargo, puede colocar un lienzo encima de otro y dibujarlos por separado. He hecho esto antes y puede funcionar bastante bien.

+0

Para obtener más información, vea esta pregunta: http://stackoverflow.com/questions/3008635/html5- canvas-element-multiple-layers – 1j01

Cuestiones relacionadas