2010-05-28 4 views

Répondre

23

Non, malheureusement pas.

Le HTML 5 spec dit que si vous appelez getContext sur un élément de toile qui est déjà dans un autre context mode et les deux contextes ne sont pas compatibles revenir alors null.

Malheureusement « WebGL » et toiles « 2d » ne sont pas compatibles et donc vous obtiendrez 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

Créez le texte en tant que texture à l'aide de la zone de dessin 2D, puis affichez-le en 3D. Voir here pour un tutoriel.

+0

Mais si le texte est mis à jour dynamiquement, le rendu du texte deviendra lent. – Pointer

+1

Le rendu du texte est lent quand même. –

12

Comme indiqué, vous ne pouvez pas le faire.

Cependant, vous pouvez mettre une toile sur l'autre et dessiner séparément. Je l'ai déjà fait et cela peut très bien marcher.

+0

Pour plus d'informations, voir cette question: http://stackoverflow.com/questions/3008635/html5-canvas-element-multiple-layers – 1j01

Questions connexes