3D computer graphics with Three.js

Three.js is the world's most popular JavaScript library and API used for displaying 3D computer graphics in a web browser using WebGL. 

History of Three.js

Three.js was first released by Ricardo Cabello on GitHub in April 2010. It was originally developed in the ActionScript language used by Adobe Flash and later being ported to JavaScript in 2009. The benefits of javascript compared to actionscript is that JavaScript provided greater platform independence. Applications written in JavaScript would not need to be compiled by the developer beforehand, unlike Flash applications.

Branislav Uličný, an early contributor, wanted WebGL renderer capabilities in Three.js to exceed those of CanvasRenderer or SVGRenderer, therefore, his major contributions generally involve materials, shaders, and post-processing. After the introduction of WebGL 1.0 in March 2011. Joshua Koo built his first Three.js demo for 3D text in September 2011. His contributions frequently relate to geometry generation. 

Features
  • Effects: Anaglyph, cross-eyed, and parallax barrier
  • Scenes: Add or remove objects at run-time
  • Cameras: Perspective and orthographic. Controllers: trackball, FPS, path
  • Animation: Armatures, forward kinematics, inverse kinematics, morph, and keyframe
  • Lights: Ambient, direction, point, spot lights. Shadows: cast and receive
  • Materials: Lambert, Phong, smooth shading, textures
  • Shaders: access to full OpenGL Shading Language (GLSL) capabilities: lens flare, depth pass, and extensive post-processing library
  • Objects: meshes, particles, sprites, lines, ribbons, bones, and more - all with Level of detail
  • Geometry: plane, cube, sphere, torus, 3D text. Modifiers: lathe, extrude, and tube
  • Data loaders: binary, image, JSON, and scene
  • Utilities: full set of time and 3D math functions including frustum, matrix, quaternion, UVs, and more
  • Export and import: utilities to create Three.js-compatible JSON files from within: Blender, openCTM, FBX, Max, and OBJ
  • Support: API documentation is under construction. A public forum and wiki is in full operation
  • Examples: Over 150 files of coding examples plus fonts, models, textures, sounds, and other support files
  • Debugging: Stats.js, WebGL Inspector, Three.js Inspector 

You may also like

June 17, 2024

Quests in Code: Is Game Development the Ultimate IT Career Move for You?

Game development has captured the imagination of IT students and professionals alike. The video game industry, now a multi-billion dollar behemoth, is booming like never before.  But why is it suddenly the talk of the tech town? Is it the allure of cutting-edge tech or the tantalizing promise of dream jobs? Get ready to find […]

June 13, 2024

Bugs and Scalpel Slips: Why Software Development Demands Surgical Precision

A surgeon and a programmer walk into a bar. But it’s not the start of a joke—it’s a scenario highlighting both professions’ weighty responsibilities. Surgeons, with their scalpels, work with life and death hanging in the balance. Armed with code, programmers might not hold lives in their hands, but their mistakes can still wreak havoc […]

June 20, 2024

Mastering Client-Oriented Roles: Expert Advice for Junior Developers

Ever wondered what makes the magic happen behind the scenes in global software companies? Spoiler alert: it’s the client-oriented roles! These are the glue that keeps everything together, ensuring clients’ needs are met and expectations exceeded.  This blog post will share concrete, experience-based insights to help new employees thrive in these crucial positions. Whether you […]