我是新手,开始学习在Web浏览器中使用三维计算机图形。我对在浏览器中制作3D游戏感兴趣。对于那些已经学过WebGL和three.js的人来说...
在使用three.js时是否需要了解WebGL?
使用three.js相比WebGL有哪些优势?
我是新手,开始学习在Web浏览器中使用三维计算机图形。我对在浏览器中制作3D游戏感兴趣。对于那些已经学过WebGL和three.js的人来说...
在使用three.js时是否需要了解WebGL?
使用three.js相比WebGL有哪些优势?
由于您有远大的抱负,所以必须投入时间学习基础知识。重要的不是你首先学习什么 - 如果您想同时学习它们,那也可以。(那就是我做的。)
这意味着您需要了解:
Three.js. Three.js在抽象化许多WebGL的细节方面做得非常出色,因此个人建议您在项目中使用Three.js。但请记住,Three.js处于测试版,经常发生变化,因此您必须做好准备。大多数人通过研究实例来学习Three.js。避免使用过时的书籍和教程,并避免使用链接到旧版本库的网络示例。
WebGL. 如果您使用Three.js,则不需要知道如何编写WebGL程序,只需要了解WebGL的概念。这意味着您只需要能够阅读他人的WebGL代码并理解您所阅读的内容。这比要求您自己从头开始编写WebGL程序要容易得多。您可以使用网络上的任何教程(例如 WebGLFundamentals.org 和 Learning WebGL)来学习足够了解WebGL概念。
数学. 同样,您至少需要了解相关概念。三本不错的书籍是:
《图形和游戏开发的3D数学入门》(作者:Fletcher Dunn和Ian Parberry)
《游戏与交互应用的基本数学:程序员指南》 作者:詹姆斯·范弗思(James M. Van Verth)和拉尔斯·毕晓普(Lars M. Bishop)
《三维游戏编程和计算机图形学中的数学》 作者:埃里克·伦格尔(Eric Lengyel)
有一门非常好的在线课程 - Interactive 3D Graphics,位于 https://www.udacity.com/course/cs291 上,它涵盖了THREE.js的所有基本概念和计算机图形学,同时还包含实践性作业以增加实战经验。
我个人的想法如下:
http://webglfundamentals.org/webgl/lessons/webgl-2d-vs-3d-library.html
本文介绍了WebGL和three.js等3D库之间的根本区别。这使得我在WebGL和Three.js之间做出选择变得轻而易举。