433:
99:
1602:
1592:
1623:
27:
247:, later being ported to JavaScript in 2009. In Cabello's mind, there were two strong points that justified the shift away from ActionScript: Firstly, JavaScript provided greater platform independence. Secondly, applications written in JavaScript would not need to be compiled by the developer beforehand, unlike Flash applications.
257:, Paul Brunt was able to implement the new rendering technology quite easily as Three.js was designed with the rendering code as a module rather than in the core itself. Branislav UliÄŤnĂ˝, an early contributor, started with Three.js in 2010 after having posted a number of
268:
Soon after the introduction of WebGL 1.0 on
Firefox 4 in March 2011, Joshua Koo came on board. He built his first Three.js demo for 3D text in September 2011. His contributions frequently relate to geometry generation.
227:, Scene.js, PhiloGL, and many more make it possible to author complex 3D computer animations for display in the browser without the effort required for a traditional standalone application or a plugin.
250:
Additional contributions by
Cabello include API design, CanvasRenderer, SVGRenderer, and being responsible for merging the commits by the various contributors into the project.
1095:
265:
renderer capabilities in Three.js to exceed those of CanvasRenderer or SVGRenderer. His major contributions generally involve materials, shaders, and post-processing.
1174:
628:
1393:
1015:
1232:
1164:
235:
Three.js was first released by
Ricardo Cabello on GitHub in April 2010. The origins of the library can be traced back to his involvement with the
1184:
1070:
1169:
1152:
1122:
1020:
272:
Starting from version 118, Three.js uses WebGL 2.0 by default. Older version of the standard is still available via WebGL1Renderer class.
1298:
1132:
1105:
1085:
1110:
1664:
1060:
1030:
40:
1207:
1713:
1179:
1137:
1080:
1595:
1543:
1473:
1157:
438:
1723:
1117:
1010:
352:
1698:
1498:
1350:
940:
921:
893:
1413:
1323:
1318:
874:
855:
510:
173:
1693:
1142:
1050:
576:
123:
1408:
1240:
1147:
845:
632:
987:
1708:
1657:
1503:
1398:
1222:
1212:
996:
908:
Learning HTML5 game programming : a hands-on guide to building online games using Canvas, SVG, and WebGL
1569:
1423:
1217:
76:
1703:
1688:
1531:
1438:
1273:
401:
Examples: Over 150 files of coding examples plus fonts, models, textures, sounds, and other support files
373:
1428:
1313:
1090:
224:
1563:
1478:
1463:
446:
201:
1650:
1558:
1355:
1308:
1293:
1245:
1055:
451:
116:
1683:
1605:
1493:
1340:
1303:
1202:
913:
398:
Support: API documentation is under construction. A public forum and wiki is in full operation.
322:
309:
1468:
1263:
1255:
1194:
1127:
905:
357:
Geometry: plane, cube, sphere, torus, 3D text, and more; modifiers: lathe, extrude, and tube
1630:
1553:
1488:
1483:
1045:
802:
456:
384:
294:
177:
8:
1433:
1035:
564:
485:
369:
98:
980:
695:
461:
348:
313:
305:
301:
169:
128:
1591:
1513:
1360:
1040:
936:
917:
906:
889:
870:
851:
1278:
135:
1638:
1548:
900:- "Three.js can make game development easier by taking care of low-level details"
674:
380:
965:
1718:
1634:
1345:
1268:
781:
656:"NVScene 2015 Session: Reinventing The Wheel - One Last Time (Ricardo Cabello)"
213:
739:
655:
1677:
1576:
1537:
1443:
1100:
1025:
973:
326:
318:
Lights: ambient, direction, point, and spot lights; shadows: cast and receive
166:
1418:
1375:
1288:
240:
1508:
1335:
1330:
888:. Chichester, West Sussex, U.K: John Wiley & Sons. pp. 412–414.
418:
244:
181:
140:
823:
392:
388:
341:
337:
205:
112:
48:
34:
1365:
760:
717:
533:
236:
85:
1622:
1403:
1283:
209:
26:
293:
Cameras: perspective and orthographic; controllers: trackball,
189:
1370:
408:
262:
258:
254:
239:
in the early 2000s. The code was originally developed in the
220:, a low-level graphics API created specifically for the web.
217:
185:
602:
379:
Utilities: full set of time and 3D math functions including
886:
HTML5 games : creating fun with HTML5, CSS3, and WebGL
365:
361:
333:
553:
404:
Debugging: Stats.js, WebGL Inspector, Three.js
Inspector
360:
Import/export: native serialization/deserialization via
958:
151:
847:
Learning Three.js: The JavaScript 3D Library for WebGL
414:
Three.js runs in all browsers supported by WebGL 1.0.
347:
Objects: meshes, particles, sprites, lines, ribbons,
1016:
Comparison of open-source and closed-source software
428:
287:
Effects: Anaglyph, cross-eyed, and parallax barrier.
912:. Upper Saddle River, NJ: Addison-Wesley. pp.
1384:
995:
332:Shaders: access to full OpenGL Shading Language (
1675:
577:"Khronos Releases Final WebGL 1.0 Specification"
290:Scenes: add and remove objects at run-time; fog
275:Three.js has over 1700 contributors on GitHub.
188:. The source code is hosted in a repository on
1658:
981:
935:. Chichester: Wiley. pp. 181, 182, 216.
505:
503:
1021:Comparison of source-code-hosting facilities
869:. Sebastopol: Oreilly & Associates Inc.
629:"Study: Average dev costs as high as $ 28m"
1665:
1651:
988:
974:
669:
667:
665:
500:
283:Three.js includes the following features:
204:(GPU)-accelerated 3D animations using the
176:(API) used to create and display animated
97:
25:
480:
478:
476:
223:High-level libraries such as Three.js or
903:
883:
626:
216:. This is possible due to the advent of
843:
715:
662:
531:
344:, and extensive post-processing library
1676:
930:
864:
740:"Features mrdoob/three.js Wiki GitHub"
737:
473:
969:
417:Three.js is made available under the
1617:
1544:Microsoft Open Specification Promise
439:Free and open-source software portal
329:, smooth shading, textures, and more
1011:Alternative terms for free software
653:
13:
1351:Python Software Foundation License
837:
631:. Intent Media Ltd. Archived from
407:Virtual and Augmented Reality via
16:JavaScript library for 3D graphics
14:
1735:
1414:Definition of Free Cultural Works
1031:Free software project directories
950:
627:Crossley, Rob (11 January 2010).
261:demos on his own site. He wanted
174:application programming interface
1621:
1601:
1600:
1590:
1051:Open-source software development
696:"Release r118 · mrdoob/three.js"
431:
200:Three.js allows the creation of
1409:Debian Free Software Guidelines
1241:Free Software Movement of India
816:
795:
774:
753:
731:
709:
688:
212:without relying on proprietary
1714:Software using the MIT license
647:
620:
595:
569:
558:
547:
525:
1:
1399:Contributor License Agreement
1213:Open-source-software movement
997:Free and open-source software
916:–120, 123–131, 136, 140–142.
467:
1637:. You can help Knowledge by
1570:The Cathedral and the Bazaar
1424:The Free Software Definition
7:
1474:Mozilla software rebranding
1439:Permissive software license
424:
278:
195:
10:
1740:
1724:Computer programming stubs
1616:
1479:Proprietary device drivers
1429:The Open Source Definition
230:
1699:Free 3D graphics software
1586:
1564:Source-available software
1522:
1464:Digital rights management
1456:
1254:
1231:
1193:
1069:
1003:
803:"Three.js Inspector Labs"
447:Google Chrome Experiments
202:graphical processing unit
146:
134:
122:
108:
75:
57:
47:
33:
24:
1559:Shared Source Initiative
1356:Shared Source Initiative
1309:Free Software Foundation
1246:Free Software Foundation
1096:Configuration management
904:Williams, James (2012).
884:Seidelin, Jacob (2012).
850:. UK: Packt Publishing.
677:. Github.com. 2012-05-21
452:List of WebGL frameworks
1694:Cross-platform software
1494:SCO/Linux controversies
1633:-related article is a
1394:Comparison of licenses
1203:Free software movement
716:Mr.doob (2020-08-03),
675:"Three.js White Paper"
532:Mr.doob (2021-03-04),
351:, and more - all with
300:Animation: armatures,
208:language as part of a
63:; 14 years ago
1469:License proliferation
865:Parisi, Tony (2012).
844:Dirksen, Jos (2013).
784:. Benvanik.github.com
738:mrdoob (2012-11-26).
1709:JavaScript libraries
1631:computer-programming
1554:Open-source hardware
1489:Proprietary software
1484:Proprietary firmware
1185:Formerly open-source
1180:Formerly proprietary
1046:Open-source software
931:Raasch, Jon (2011).
867:Webgl Up and Running
457:JavaScript framework
178:3D computer graphics
1434:Open-source license
1036:Gratis versus libre
824:"three.js examples"
565:Unity (game engine)
513:. github.com/mrdoob
488:. github.com/mrdoob
253:With the advent of
61:April 24, 2010
21:
1704:Graphics libraries
1689:3D scenegraph APIs
635:on 13 January 2010
486:"Three.js/license"
462:JavaScript library
306:inverse kinematics
302:forward kinematics
170:JavaScript library
129:JavaScript library
35:Original author(s)
19:
1646:
1645:
1614:
1613:
1514:Trusted Computing
1504:Software security
1452:
1451:
1133:Operating systems
1041:Long-term support
805:. Zz85.github.com
782:"WebGL Inspector"
607:The Khronos Group
243:language used by
160:
159:
39:Ricardo Cabello (
1731:
1667:
1660:
1653:
1625:
1618:
1604:
1603:
1594:
1499:Software patents
1382:
1381:
1294:Creative Commons
1153:Web applications
990:
983:
976:
967:
966:
962:
961:
959:Official website
946:
927:
911:
899:
880:
861:
832:
831:
820:
814:
813:
811:
810:
799:
793:
792:
790:
789:
778:
772:
771:
769:
768:
757:
751:
750:
748:
747:
735:
729:
728:
727:
726:
713:
707:
706:
704:
703:
692:
686:
685:
683:
682:
671:
660:
659:
651:
645:
644:
642:
640:
624:
618:
617:
615:
614:
599:
593:
592:
590:
588:
573:
567:
562:
556:
551:
545:
544:
543:
542:
529:
523:
522:
520:
518:
507:
498:
497:
495:
493:
482:
441:
436:
435:
434:
336:) capabilities:
156:
153:
101:
96:
93:
91:
89:
87:
71:
69:
64:
53:Three.js Authors
29:
22:
18:
1739:
1738:
1734:
1733:
1732:
1730:
1729:
1728:
1674:
1673:
1672:
1671:
1615:
1610:
1582:
1549:Open-core model
1524:
1518:
1448:
1386:
1380:
1250:
1227:
1189:
1072:
1065:
999:
994:
957:
956:
953:
943:
933:Smashing WebKit
924:
896:
877:
858:
840:
838:Further reading
835:
822:
821:
817:
808:
806:
801:
800:
796:
787:
785:
780:
779:
775:
766:
764:
759:
758:
754:
745:
743:
736:
732:
724:
722:
719:mrdoob/three.js
714:
710:
701:
699:
698:(Press release)
694:
693:
689:
680:
678:
673:
672:
663:
652:
648:
638:
636:
625:
621:
612:
610:
601:
600:
596:
586:
584:
583:. March 3, 2011
575:
574:
570:
563:
559:
552:
548:
540:
538:
535:mrdoob/three.js
530:
526:
516:
514:
509:
508:
501:
491:
489:
484:
483:
474:
470:
437:
432:
430:
427:
381:Viewing frustum
353:Level of detail
297:, path and more
281:
233:
214:browser plugins
198:
150:
104:
84:
67:
65:
62:
58:Initial release
17:
12:
11:
5:
1737:
1727:
1726:
1721:
1716:
1711:
1706:
1701:
1696:
1691:
1686:
1670:
1669:
1662:
1655:
1647:
1644:
1643:
1626:
1612:
1611:
1609:
1608:
1598:
1587:
1584:
1583:
1581:
1580:
1573:
1566:
1561:
1556:
1551:
1546:
1541:
1534:
1528:
1526:
1520:
1519:
1517:
1516:
1511:
1506:
1501:
1496:
1491:
1486:
1481:
1476:
1471:
1466:
1460:
1458:
1454:
1453:
1450:
1449:
1447:
1446:
1441:
1436:
1431:
1426:
1421:
1416:
1411:
1406:
1401:
1396:
1390:
1388:
1379:
1378:
1373:
1368:
1363:
1358:
1353:
1348:
1343:
1338:
1333:
1328:
1327:
1326:
1321:
1316:
1306:
1301:
1296:
1291:
1286:
1281:
1276:
1271:
1266:
1260:
1258:
1252:
1251:
1249:
1248:
1243:
1237:
1235:
1229:
1228:
1226:
1225:
1220:
1215:
1210:
1205:
1199:
1197:
1191:
1190:
1188:
1187:
1182:
1177:
1172:
1167:
1162:
1161:
1160:
1150:
1145:
1140:
1135:
1130:
1125:
1120:
1115:
1114:
1113:
1108:
1098:
1093:
1088:
1086:Bioinformatics
1083:
1077:
1075:
1067:
1066:
1064:
1063:
1058:
1053:
1048:
1043:
1038:
1033:
1028:
1023:
1018:
1013:
1007:
1005:
1001:
1000:
993:
992:
985:
978:
970:
964:
963:
952:
951:External links
949:
948:
947:
942:978-1119999133
941:
928:
923:978-0321767363
922:
901:
895:978-1119975083
894:
881:
875:
862:
856:
839:
836:
834:
833:
815:
794:
773:
752:
730:
708:
687:
661:
646:
619:
594:
568:
557:
546:
524:
511:"First commit"
499:
471:
469:
466:
465:
464:
459:
454:
449:
443:
442:
426:
423:
412:
411:
405:
402:
399:
396:
377:
358:
355:
345:
330:
319:
316:
298:
291:
288:
280:
277:
232:
229:
197:
194:
158:
157:
148:
144:
143:
138:
132:
131:
126:
120:
119:
110:
106:
105:
103:
102:
81:
79:
73:
72:
59:
55:
54:
51:
45:
44:
37:
31:
30:
15:
9:
6:
4:
3:
2:
1736:
1725:
1722:
1720:
1717:
1715:
1712:
1710:
1707:
1705:
1702:
1700:
1697:
1695:
1692:
1690:
1687:
1685:
1684:2010 software
1682:
1681:
1679:
1668:
1663:
1661:
1656:
1654:
1649:
1648:
1642:
1640:
1636:
1632:
1627:
1624:
1620:
1619:
1607:
1599:
1597:
1593:
1589:
1588:
1585:
1579:
1578:
1577:Revolution OS
1574:
1572:
1571:
1567:
1565:
1562:
1560:
1557:
1555:
1552:
1550:
1547:
1545:
1542:
1540:
1539:
1538:GNU Manifesto
1535:
1533:
1530:
1529:
1527:
1521:
1515:
1512:
1510:
1507:
1505:
1502:
1500:
1497:
1495:
1492:
1490:
1487:
1485:
1482:
1480:
1477:
1475:
1472:
1470:
1467:
1465:
1462:
1461:
1459:
1455:
1445:
1444:Public domain
1442:
1440:
1437:
1435:
1432:
1430:
1427:
1425:
1422:
1420:
1417:
1415:
1412:
1410:
1407:
1405:
1402:
1400:
1397:
1395:
1392:
1391:
1389:
1383:
1377:
1374:
1372:
1369:
1367:
1364:
1362:
1359:
1357:
1354:
1352:
1349:
1347:
1344:
1342:
1339:
1337:
1334:
1332:
1329:
1325:
1322:
1320:
1317:
1315:
1312:
1311:
1310:
1307:
1305:
1302:
1300:
1297:
1295:
1292:
1290:
1287:
1285:
1282:
1280:
1277:
1275:
1272:
1270:
1267:
1265:
1262:
1261:
1259:
1257:
1253:
1247:
1244:
1242:
1239:
1238:
1236:
1234:
1233:Organisations
1230:
1224:
1221:
1219:
1216:
1214:
1211:
1209:
1206:
1204:
1201:
1200:
1198:
1196:
1192:
1186:
1183:
1181:
1178:
1176:
1173:
1171:
1168:
1166:
1163:
1159:
1156:
1155:
1154:
1151:
1149:
1146:
1144:
1141:
1139:
1136:
1134:
1131:
1129:
1128:Office suites
1126:
1124:
1121:
1119:
1116:
1112:
1109:
1107:
1104:
1103:
1102:
1099:
1097:
1094:
1092:
1089:
1087:
1084:
1082:
1079:
1078:
1076:
1074:
1068:
1062:
1059:
1057:
1054:
1052:
1049:
1047:
1044:
1042:
1039:
1037:
1034:
1032:
1029:
1027:
1026:Free software
1024:
1022:
1019:
1017:
1014:
1012:
1009:
1008:
1006:
1002:
998:
991:
986:
984:
979:
977:
972:
971:
968:
960:
955:
954:
944:
938:
934:
929:
925:
919:
915:
910:
909:
902:
897:
891:
887:
882:
878:
876:9781449323578
872:
868:
863:
859:
857:9781782166283
853:
849:
848:
842:
841:
829:
825:
819:
804:
798:
783:
777:
762:
756:
741:
734:
721:
720:
712:
697:
691:
676:
670:
668:
666:
657:
650:
634:
630:
623:
608:
604:
598:
582:
581:Khronos Group
578:
572:
566:
561:
555:
550:
537:
536:
528:
512:
506:
504:
487:
481:
479:
477:
472:
463:
460:
458:
455:
453:
450:
448:
445:
444:
440:
429:
422:
420:
415:
410:
406:
403:
400:
397:
394:
390:
386:
382:
378:
375:
371:
367:
363:
359:
356:
354:
350:
346:
343:
339:
335:
331:
328:
324:
320:
317:
315:
311:
307:
303:
299:
296:
292:
289:
286:
285:
284:
276:
273:
270:
266:
264:
260:
256:
251:
248:
246:
242:
238:
228:
226:
221:
219:
215:
211:
207:
203:
193:
191:
187:
183:
179:
175:
171:
168:
167:cross-browser
164:
155:
149:
145:
142:
139:
137:
133:
130:
127:
125:
121:
118:
114:
111:
107:
100:
95:
83:
82:
80:
78:
74:
60:
56:
52:
50:
46:
42:
38:
36:
32:
28:
23:
1639:expanding it
1628:
1575:
1568:
1536:
1419:Free license
1165:Android apps
932:
907:
885:
866:
846:
827:
818:
807:. Retrieved
797:
786:. Retrieved
776:
765:. Retrieved
763:. Github.com
755:
744:. Retrieved
742:. Github.com
733:
723:, retrieved
718:
711:
700:. Retrieved
690:
679:. Retrieved
649:
637:. Retrieved
633:the original
622:
611:. Retrieved
609:. 2011-07-19
606:
597:
585:. Retrieved
580:
571:
560:
549:
539:, retrieved
534:
527:
515:. Retrieved
490:. Retrieved
416:
413:
282:
274:
271:
267:
252:
249:
241:ActionScript
234:
222:
199:
162:
161:
49:Developer(s)
1509:Tivoization
1148:Video games
1123:Mathematics
828:threejs.org
419:MIT License
376:, and more.
321:Materials:
245:Adobe Flash
182:web browser
1678:Categories
1457:Challenges
1175:Commercial
1158:E-commerce
1143:Television
809:2013-05-09
788:2013-05-09
767:2013-05-09
761:"Stats.js"
746:2013-05-09
725:2023-05-24
702:2023-05-24
681:2013-05-09
658:. YouTube.
613:2022-01-22
541:2021-03-04
468:References
395:, and more
389:quaternion
342:depth pass
338:lens flare
206:JavaScript
113:JavaScript
109:Written in
77:Repository
68:2010-04-24
1387:standards
1385:Types and
1366:Unlicense
1361:Sleepycat
1195:Community
654:NVScene.
237:demoscene
1606:Category
1523:Related
1404:Copyleft
1324:GNU LGPL
1319:GNU AGPL
1284:Beerware
1279:Artistic
1256:Licenses
1223:Advocacy
1170:iOS apps
1111:Wireless
1106:Graphics
1073:packages
1071:Software
1061:Timeline
425:See also
314:keyframe
279:Features
196:Overview
163:Three.js
20:Three.js
1532:Forking
1314:GNU GPL
1208:History
1138:Routing
1101:Drivers
1056:Outline
1004:General
603:"WebGL"
323:Lambert
231:History
210:website
152:threejs
147:Website
136:License
90:/mrdoob
66: (
41:Mr.doob
1596:Portal
1525:topics
1346:Python
1269:Apache
1218:Events
1118:Health
1091:Codecs
939:
920:
892:
873:
854:
639:2 June
587:2 June
517:20 May
492:20 May
385:matrix
312:, and
190:GitHub
184:using
92:/three
86:github
1719:WebGL
1629:This
1371:WTFPL
1081:Audio
409:WebXR
349:bones
327:Phong
310:morph
263:WebGL
259:WebGL
255:WebGL
218:WebGL
186:WebGL
180:in a
165:is a
1635:stub
1376:zlib
1299:CDDL
1274:APSL
937:ISBN
918:ISBN
890:ISBN
871:ISBN
852:ISBN
641:2012
589:2012
519:2012
494:2012
374:USDZ
366:glTF
362:JSON
334:GLSL
225:GLGE
172:and
154:.org
124:Type
117:GLSL
88:.com
1341:MPL
1336:MIT
1331:ISC
1304:EPL
1289:BSD
1264:AFL
914:117
554:O3D
393:UVs
370:OBJ
295:FPS
141:MIT
94:.js
1680::
826:.
664:^
605:.
579:.
502:^
475:^
421:.
391:,
387:,
383:,
372:,
368:,
364:,
340:,
325:,
308:,
304:,
192:.
115:,
1666:e
1659:t
1652:v
1641:.
989:e
982:t
975:v
945:.
926:.
898:.
879:.
860:.
830:.
812:.
791:.
770:.
749:.
705:.
684:.
643:.
616:.
591:.
521:.
496:.
70:)
43:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.