162 votes

Apprentissage WebGL et three.js

Je suis donc nouveau et je commence à apprendre le graphisme 3D dans les navigateurs Web. Je suis intéressé par la création de jeux 3D dans un navigateur. Pour ceux qui ont appris à la fois WebGL et three.js ...

  1. Est-il nécessaire de connaître WebGL pour utiliser three.js?

  2. Quels sont les avantages de l'utilisation de three.js par rapport à WebGL?

226voto

WestLangley Points 28444

Puisque vous avez de grandes ambitions, vous devez investir du temps pour apprendre les bases. Il ne s'agit pas de ce que vous apprenez d'abord, vous pouvez en apprendre en même temps, si vous le souhaitez. (C'est ce que j'ai fait.)

Cela signifie que vous devez comprendre:

  1. WebGL concepts
  2. Three.js
  3. Les concepts mathématiques sous-jacents

Three.js. Trois.js fait un excellent travail d'abstraction de nombreux détails de WebGL, donc personnellement, je vous suggère de l'aide Three.js pour votre projet. Mais rappelez-vous, Three.js est en alpha, et il est en train de changer fréquemment, de sorte que vous devez être prêt pour cela. La plupart des gens apprennent Three.js en étudiant les exemples. Éviter des livres obsolètes et des tutoriels, et d'éviter des exemples sur le net que lien vers les anciennes versions de la bibliothèque.

WebGL. Si vous utilisez Three.js vous n'avez pas besoin de savoir programmer en WebGL, vous avez juste besoin de comprendre le WebGL concepts. Cela signifie, que vous devez simplement être en mesure de lire à quelqu'un d'autre WebGL code et de comprendre ce que vous lisez. C'est beaucoup plus facile que prévu pour écrire un WebGL programme vous-même à partir de zéro. Vous pouvez apprendre le WebGL concepts suffisamment bien à l'aide de l'un quelconque des tutoriels sur le net, tels que le beginner's guide d'initiation à l'Apprentissage de WebGL.

Les mathématiques. Encore une fois, vous devez au moins comprendre les concepts. Trois bons livres sont:

  1. 3D Mathématiques Apprêt pour le Graphisme et le Développement d'un Jeu par Fletcher Dunn et Ian Parberry

  2. Essentiel de Mathématiques pour les Jeux et les Applications Interactives: Un Guide du Programmeur de James M. Van Verth et Lars M. l'Évêque

  3. Mathématiques pour le Jeu en 3D de la Programmation et de l'Informatique Graphique par Eric Lengyel

J'espère que cela est utile pour vous. Bonne chance.

25voto

Bhupendra Points 109

Il existe un très bon cours en ligne - Graphiques 3D interactifs à l' adresse https://www.udacity.com/course/cs291 sur THREE.js. Ce cours comprend des travaux visant également à acquérir une expérience pratique. Il couvre tous les concepts de base de Three.js et Computer Graphics

16voto

Dan Points 27909

Mes pensées personnelles sont les suivantes:

  • Si vous avez suffisamment de temps, vous pouvez apprendre les deux, mais notez que WebGL est bien inférieur au niveau Three.js.
  • Pour un premier projet en 3D, les experts suggèrent d'utiliser une bibliothèque telle que Three.js afin de s'habituer aux termes et au modèle 3D général.

12voto

rodrigo-silveira Points 2225

Quelle que soit la direction que vous choisissez d'aller, je vous suggère d'apprendre le polonais, sur votre algèbre linéaire compétences. Puis aller de l'avant et d'apprendre ou de parfaire votre compréhension à propos de MVP dimensions (Vue du Modèle de Projection). Three.JS possible de faire abstraction de beaucoup de cette suite, mais je pense que c'est la clé que l'on comprend ces concepts bien avant d'obtenir sérieux au sujet de tout développement 3D.

J'ai écrit un article d'introduction sur MVP , lorsque j'ai commencé l'apprentissage de la programmation 3D avec OpenGL. J'ai réalisé que jusqu'à ce que j'ai été en mesure d'expliquer ce que ces matrices de transformation sont, et comment ils se rapportent aux différentes dimensions/espaces, je n'ai pas vraiment connaître toute la programmation 3D à tous, même si j'ai pu rendre les objets à l'écran.

Puisque votre objectif est de créer des jeux, je pense que vous allez tirer profit de l'apprentissage de la crue de WebGL tout d'abord, même si vous vous retrouvez à l'aide d'un framework comme Three.js pour vous aider à écrire votre code plus tard.

11voto

Bob Fanger Points 9547

"WebGL est une API 2D et non une API 3D"

http://greggman.github.io/webgl-fundamentals/webgl/lessons/webgl-2d-vs-3d-library.html

Cet article décrit les différences fondamentales entre les bibliothèques WebGL et 3D telles que three.js.
Ce qui a fait mon choix entre WebGL ou Three.js une évidence.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X