Knowledge

Three.js

Source đź“ť

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:)

Index


Original author(s)
Mr.doob
Developer(s)
Repository
github.com/mrdoob/three.js
Edit this at Wikidata
JavaScript
GLSL
Type
JavaScript library
License
MIT
threejs.org
cross-browser
JavaScript library
application programming interface
3D computer graphics
web browser
WebGL
GitHub
graphical processing unit
JavaScript
website
browser plugins
WebGL
GLGE
demoscene
ActionScript
Adobe Flash

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑