2012-03-21 22 views
35

He leído sobre la etiqueta canvas en HTML5, y siempre vi getContext('2d').
El parámetro es '2d', ¿entonces no hay otra posibilidad como '3d'?
Y, ¿cómo podrías usar eso? Intenté 3D antes, pero realmente no entendí (debido a un tutorial no explicativo). Cualquier tutorial?¿Se puede usar canvas.getContext ('3d')? Si es así, ¿cómo?

+29

"JavaScript es más fácil que un lenguaje de programación real". ¡Cómo te atreves! – j08691

+25

A largo plazo, JavaScript es más difícil precisamente por lo que falta. Como dicen los ancianos: "Dale a un hombre JavaScript y buscará un día, enseñarle a un hombre a JavaScript y desearía tener un sistema de tipos". –

+2

'getContext ('4d')' próximamente –

Respuesta

37

Hay un contexto 3D para lienzo, pero no se llama "3d", pero WebGL ("webgl").

+7

Vaya, no vi que Peter haya publicado la misma respuesta unos segundos antes. Por favor, acepte su respuesta si está contento con cualquiera de los dos. – denisw

11

El contexto 3D aún no está implementado en la mayoría de los navegadores. Creo que hay una versión experimental de Opera que proporciona uno, y un complemento para FF que hace lo mismo, pero ninguno de ellos está listo para el horario estelar. Tendrás que esperar a una amplia adopción e implementación.

y creo JavaScript es más fácil entonces un lenguaje de programación real

, JavaScript es un lenguaje de programación 'real'. Ser un lenguaje de alto nivel no lo convierte en un juguete o falso (y esto viene de un tipo de sistemas que, en su opinión, escribe código en lenguajes de programación "reales" todos los días).

+4

Si bien es cierto, me gustaría que no lo fuera. –

+1

@Zekian: Si tuviera que usarlo, estoy seguro de que sentiría lo mismo –

+1

Creo que WebGL es compatible con la mayoría de los navegadores (incluido el móvil) excepto IE. Lea aquí https://www.ichemlabs.com/1375. – Lucky

18

Es posible obtener un WebGL context, que le daría acceso a esa API, lo que permite la representación 3D de OpenGL ES 2.0.

26

WebGL debe ser available in the most up-to-date versions of all browsers. Uso:

<!DOCTYPE html> 
<html> 
<body> 
<canvas id='c'></canvas> 
    <script> 
    var c = document.getElementById('c'); 
    var gl = c.getContext('webgl') || c.getContext("experimental-webgl"); 
    gl.clearColor(0,0,0.8,1); 
    gl.clear(gl.COLOR_BUFFER_BIT); 
</script> 
</body> 
</html> 

¿Cómo podría usar eso? Probé 3D antes, pero realmente no entender

  • si cree idiomas "reales" son difíciles, usted tendrá un montón de problemas con WebGL. En algunos aspectos, es bastante alto nivel, en otros aspectos es bastante bajo nivel. Debe repasar sus matemáticas (geometría) y prepararse para un trabajo arduo.
  • three.js es una biblioteca muy apreciada que le permite hacer muchas cosas en 3D sin tener que lidiar con webgl directamente, échele un vistazo.
Cuestiones relacionadas