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

August 28, 2023

Critical Thinking in Coding: Your Ladder to Software Mastery?

Is critical thinking a rare talent reserved for a chosen few? Or is it just a myth spread by those hesitant to venture into software development? If you ask us, such a viewpoint weakens the genuine core of critical thinking. Rather than viewing it as an unchangeable quality, consider it an evolving talent that may […]

August 21, 2023

Tech's Cultural Compass: Why Cultural Intelligence Counts

In the busy global IT arena, experts team up worldwide, each with a unique cultural imprint. This international union, however, has its challenges. Cultural differences in conventions and attitudes can sometimes operate as barriers to efficient communication.  Today’s blog post digs into the critical function of cultural intelligence in software development teams, emphasizing its significance […]

September 4, 2023

Why Juniors Should Start in the Office

Remote work sounds like heaven? No doubt! But there’s something special about kicking it off inside an office.  For newcomers to coding, the office atmosphere is like a turbo-charged learning zone – imagine skill-building, tech gossip, and soaking up all those professional vibes.  So, if you’re looking for your first job but shy away from […]