Main Monitor
Loading 3D Model...
Loading 3D Model...
The origins of 3D computer graphics trace back to 1963 when Ivan Sutherland completed his PhD thesis at MIT titled Sketchpad: A Man‑Machine Graphical Communication System, introducing a revolutionary program that allowed users to draw and manipulate geometric shapes on a screen. This work laid the foundation for human computer interaction and computer aided design. In 1968, Sutherland and his students created the Sword of Damocles, widely considered the first head mounted display system and a foundational step toward virtual reality. [Wikipedia, Ivan Sutherland] [Wikipedia, Sword of Damocles]
The University of Utah became a central hub for computer graphics research during the 1970s. Researchers including Edwin Catmull, who later co‑founded Pixar, developed techniques such as texture mapping, z‑buffering, and bicubic patches during his doctoral research. The Utah teapot, created by Martin Newell in 1975, became a standard reference object for testing 3D rendering algorithms and remains an iconic symbol of the field. [Computer History Museum, University of Utah Graphics] [Wikipedia, Edwin Catmull] [Wikipedia, Utah Teapot]
The 1980s saw the emergence of commercial 3D graphics workstations from companies like Silicon Graphics, Evans and Sutherland, and Apollo Computer. These machines used specialized hardware to accelerate 3D rendering for scientific visualization, engineering, and film production. Pixar's RenderMan, first used on the 1988 short film Tin Toy and released commercially in 1989, became the industry standard for photorealistic rendering and was used to produce Toy Story (1995), the first fully computer animated feature film. [Wikipedia, Silicon Graphics] [Wikipedia, Evans & Sutherland] [Pixar, RenderMan] [Wikipedia, Toy Story]
The 1990s brought 3D graphics to consumer devices with the introduction of dedicated graphics processing units. 3dfx Interactive released the Voodoo graphics card in 1996, bringing real time 3D hardware acceleration to personal computers. OpenGL, initially developed by Silicon Graphics and publicly released in 1992, became the cross platform standard for 3D graphics programming. [Wikipedia, 3dfx] [OpenGL, About]
WebGL, the standard JavaScript API for hardware accelerated 3D graphics in web browsers, had its working group first announced by the Khronos Group at GDC in March 2009, with the final WebGL 1.0 specification released on March 3, 2011. Three.js, created by Ricardo Cabello (mrdoob) and first released on GitHub on April 24, 2010, emerged as the most popular high level JavaScript library for WebGL development, making 3D graphics accessible to web developers worldwide. [Khronos Group, WebGL] [Three.js, Official Website]
3D rendering transforms mathematical descriptions of 3D objects into 2D images displayed on a screen. The rendering pipeline consists of several sequential stages. First, vertices defining 3D models are transformed from local object space to world space, then to camera space, and finally to projection space using matrix mathematics. This process positions every point in relation to the virtual camera. [Wikipedia, Graphics Pipeline]
After vertex transformation, the rasterization stage determines which pixels on the screen are covered by each triangle. For every pixel, the fragment shader calculates the final color based on lighting calculations, texture samples, and material properties. Modern GPUs perform these calculations in parallel across thousands of cores, enabling real time performance. [Wikipedia, Rasterisation]
All 3D models in real time graphics are built from triangles. Triangles are the preferred primitive shape because they are always planar, can represent any surface through tessellation, and are computationally efficient to process. A mesh is a collection of triangles sharing vertices and edges. High quality models use millions of triangles to represent smooth surfaces and fine details. [Wikipedia, Tessellation]
Each vertex stores attributes such as position in 3D space, a normal vector for lighting calculations, UV coordinates for texture mapping, and sometimes vertex colors. The index buffer defines how vertices connect to form triangles, avoiding duplicate vertex data and reducing memory usage. [Wikipedia, Normal Mapping]
Lighting simulation determines how surfaces appear under illumination. The Phong reflection model, developed by Bui Tuong Phong at the University of Utah, was first described in his 1973 PhD dissertation Illumination for Computer-Generated Images and then formally published in Communications of the ACM in 1975. It combines three components: ambient light providing base illumination, diffuse reflection from matte surfaces scattering light equally in all directions, and specular highlights creating shiny reflections. [Wikipedia, Phong Reflection Model] [Wikipedia, Bui Tuong Phong]
Modern physically based rendering (PBR) uses more accurate models. PBR parameters include albedo (base color), metalness (whether the surface behaves like metal or dielectric), roughness (surface microgeometry), and normal maps. Real time shadows are commonly computed using shadow maps, a technique that renders the scene from the light's perspective to determine which areas receive light. [Wikipedia, Physically Based Rendering] [Wikipedia, Shadow Mapping]
Standard: 3D Systems | Introduced: 1987 | Type: Additive manufacturing, 3D printing
STL was created by 3D Systems for use with stereolithography 3D printers. The format represents surfaces as a collection of triangles, with each triangle defined by its three vertices and a normal vector. STL files contain no color, texture, or material information. Despite these limitations, STL became the de facto standard for 3D printing and computer aided manufacturing due to its simplicity. Two variants exist: ASCII text and binary. Binary STL files are more compact and commonly used for production. [Wikipedia, STL File Format] [3D Systems, Stereolithography]
Standard: Wavefront Technologies | Introduced: 1980s | Type: Legacy, human readable, widely supported
The OBJ format originated from Wavefront Technologies' Advanced Visualizer application. Unlike STL, OBJ supports vertex colors, texture coordinates (UV mapping), vertex normals, and free form curves. OBJ files are text based and human readable, making them easy to debug but larger than binary formats. The companion MTL (Material Template Library) format defines materials separately, specifying properties like diffuse color, specular highlights, and texture image references. OBJ remains widely supported across 3D software applications. [Wikipedia, Wavefront OBJ] [Library of Congress, OBJ Format]
For 3D printing, STL remains the industry standard despite its limitations. For exchanging models between different 3D software applications where color and texture matter, OBJ provides better compatibility and supports materials. Both formats are well supported by this viewer. [All3DP, STL vs OBJ] [Formlabs, STL Guide]
While this viewer focuses on STL and OBJ, other notable 3D file formats include: FBX (Autodesk) for complex scenes with animations and materials; glTF (Khronos Group) designed for efficient web delivery; COLLADA (COLLAborative Design Activity) an XML based standard; and 3MF (3D Manufacturing Format) developed as a modern replacement for STL in 3D printing. Each format has specific strengths depending on the use case. [Wikipedia, glTF] [Wikipedia, FBX] [Wikipedia, COLLADA]