# [name]

The following is a collection of links that you might find useful when learning three.js.
If you find something that you'd like to add here, or think that one of the links below is no longer relevant or working, feel free to click the 'edit' button in the top right and make some changes!
Note also that as three.js is under rapid development, a lot of these links will contain information that is out of date - if something isn't working as you'd expect or as one of these links says it should, check the browser console for warnings or errors, the relevant docs pages and especially the [page:DeprecatedList].

## Help forums

Three.js officially uses the [link:https://discourse.threejs.org/ forum] and [link:http://stackoverflow.com/tags/three.js/info Stack Overflow] for help requests. If you need assistance with something, that's the place to go. Do NOT open an issue on Github for help requests.

## Tutorials and courses

### Getting started with three.js

- [link:https://threejsfundamentals.org/threejs/lessons/threejs-fundamentals.html Three.js Fundamentals starting lesson]
- [link:https://codepen.io/rachsmith/post/beginning-with-3d-webgl-pt-1-the-scene Beginning with 3D WebGL] by [link:https://codepen.io/rachsmith/ Rachel Smith].
- [link:https://www.august.com.au/blog/animating-scenes-with-webgl-three-js/ Animating scenes with WebGL and three.js]

### More extensive / advanced articles and courses

- [link:https://discoverthreejs.com/ Discover three.js]
- [link:https://threejsfundamentals.org/ Three.js Fundamentals]
- [link:http://blog.cjgammon.com/ Collection of tutorials] by [link:http://www.cjgammon.com/ CJ Gammon].
- [link:https://medium.com/soffritti.pierfrancesco/glossy-spheres-in-three-js-bfd2785d4857 Glossy spheres in three.js].
- [link:https://www.udacity.com/course/cs291 Interactive 3D Graphics] - a free course on Udacity that teaches the fundamentals of 3D Graphics, and uses three.js as its coding tool.
- [Link:https://aerotwist.com/tutorials/ Aerotwist] tutorials by [link:https://github.com/paullewis/ Paul Lewis].
- [link:http://learningthreejs.com/ Learning Three.js] – a blog with articles dedicated to teaching three.js
- [link:https://discourse.threejs.org/t/three-js-bookshelf/2468 Three.js Bookshelf] - Looking for more resources about three.js or computer graphics in general? Check out the selection of literature recommended by the community.

## News and Updates

- [link:https://twitter.com/hashtag/threejs Three.js on Twitter]
- [link:http://www.reddit.com/r/threejs/ Three.js on reddit]
- [link:http://www.reddit.com/r/webgl/ WebGL on reddit]
- [link:http://learningwebgl.com/blog/ Learning WebGL Blog] – The authoritive news source for WebGL.

## Examples

- [link:https://github.com/edwinwebb/three-seed/ three-seed] - three.js starter project with ES6 and Webpack
- [link:http://stemkoski.github.io/Three.js/index.html Professor Stemkoskis Examples] - a collection of beginner friendly examples built using three.js r60.
- [link:https://threejs.org/examples/ Official three.js examples] - these examples are maintained as part of the three.js repository, and always use the latest version of three.js.
- [link:https://raw.githack.com/mrdoob/three.js/dev/examples/ Official three.js dev branch examples] - Same as the above, except these use the dev branch of three.js, and are used to check that everything is working as three.js being is developed.

## Tools

- [link:http://www.physgl.org/ physgl.org] - JavaScript front-end with wrappers to three.js, to bring WebGL graphics to students learning physics and math.
- [link:https://whs.io/ Whitestorm.js] – Modular three.js framework with AmmoNext physics plugin.
- [link:http://zz85.github.io/zz85-bookmarklets/threelabs.html Three.js Inspector]
- [link:http://idflood.github.io/ThreeNodes.js/ ThreeNodes.js].
- comment-tagged-templates - VSCode extension syntax highlighting for tagged template strings, like: glsl.js.

## WebGL References

- [link:https://www.khronos.org/files/webgl/webgl-reference-card-1_0.pdf] - Reference of all WebGL and GLSL keywords, terminology, syntax and definitions.

## Old Links

These links are kept for historical purposes - you may still find them useful, but be warned that they may have information relating to very old versions of three.js.

- AlterQualia at WebGL Camp 3
- [link:http://yomotsu.github.io/threejs-examples/ Yomotsus Examples] - a collection of examples using three.js r45.
- [link:http://fhtr.org/BasicsOfThreeJS/#1 Introduction to Three.js] by [link:http://github.com/kig/ Ilmari Heikkinen] (slideshow).
- [link:http://www.slideshare.net/yomotsu/webgl-and-threejs WebGL and Three.js] by [link:http://github.com/yomotsu Akihiro Oyamada] (slideshow).
- [link:http://bkcore.com/blog/general/adobe-user-group-nl-talk-video-hexgl.html Fast HTML5 game development using three.js] by [link:https://github.com/BKcore BKcore] (video).
- Trigger Rally by [link:https://github.com/jareiko jareiko] (video).
- [link:http://blackjk3.github.io/threefab/ ThreeFab] - scene editor, maintained up until around three.js r50.
- [link:http://bkcore.com/blog/3d/webgl-three-js-workflow-tips.html Max to Three.js workflow tips and tricks] by [link:https://github.com/BKcore BKcore]
- [link:http://12devsofxmas.co.uk/2012/01/webgl-and-three-js/ A whirlwind look at Three.js] by [link:http://github.com/nrocy Paul King]
- [link:http://bkcore.com/blog/3d/webgl-three-js-animated-selective-glow.html Animated selective glow in Three.js] by [link:https://github.com/BKcore BKcore]
- [link:http://www.natural-science.or.jp/article/20120220155529.php Building A Physics Simulation Environment] - three.js tutorial in Japanese