The OpenGL Utility Toolkit ( GLUT ) is a library of utilities for OpenGL programs, which primarily perform system-level I/O with the host operating system . Functions performed include window definition, window control, and monitoring of keyboard and mouse input. Routines for drawing a number of geometric primitives (both in solid and wireframe mode) are also provided, including cubes , spheres and the Utah teapot . GLUT also has some limited support for creating pop-up menus.
23-457: The Utah teapot , or the Newell teapot , is one of the standard reference test models in 3D modeling and an in-joke within the computer graphics community. It is a mathematical model of an ordinary Melitta -brand teapot designed by Lieselotte Kantner [ de ] that appears solid with a nearly rotationally symmetrical body. Using a teapot model is considered the 3D equivalent of
46-526: A "Hello, World!" program , a way to create an easy 3D scene with a somewhat complex model acting as the basic geometry for a scene with a light setup. Some programming libraries , such as the OpenGL Utility Toolkit , even have functions dedicated to drawing teapots. The teapot model was created in 1975 by early computer graphics researcher Martin Newell , a member of the pioneering graphics program at
69-515: A fork of FreeGLUT, adds a number of new features to the original API, but work on it ceased in May 2005. Mark Kilgard has a GitHub repository for GLUT. The glut.h header file contains the following license: Some of GLUT's original design decisions made it hard for programmers to perform desired tasks. This led many to create non-canon patches and extensions to GLUT. [1] Some free software or open source reimplementations also include fixes. Some of
92-566: A tesselated conversion of the dataset in the popular OBJ file format can be useful. One such conversion of the complete Newell teaset is available on the University of Utah website. Through 3D printing , the Utah Teapot has come full circle from being a computer model based on an actual teapot to being an actual teapot based on the computer model. It is widely available in many renderings in different materials from small plastic knick-knacks to
115-518: A GLUT framework that supports its own NSGL/ CGL . Kilgard's GLUT library is no longer maintained, and its license did not permit the redistribution of modified versions of the library. This spurred the need for free software or open source reimplementations of the API from scratch. The first such library was FreeGLUT , which aims to be a reasonably close reproduction, though introducing a small number of new functions to deal with GLUT's limitations. OpenGLUT,
138-417: A few lines of code and does not require knowledge of operating system–specific windowing APIs . All GLUT functions start with the glut prefix (for example, glutPostRedisplay marks the current window as needing to be redrawn). The original GLUT library by Mark Kilgard supports the X Window System ( GLX ) and was ported to Microsoft Windows ( WGL ) by Nate Robins . Additionally, macOS ships with
161-537: A fully functional ceramic teapot. It is sometimes intentionally rendered as a low poly object to celebrate its origin as a computer model. In 2009, a Belgian design studio, Unfold, 3D printed the Utah Teapot in ceramic with the objective of returning the iconographic teapot to its roots as a piece of functional dishware while showing its status as an icon of the digital world. In 2015, the California-based company Emerging Objects followed suit, but this time printed
184-543: A small demo of a rotating 3D teapot, intended to show off the platform's multimedia facilities. Teapot scenes are commonly used for renderer self-tests and benchmarks. The original, physical Melitta teapot was purchased from ZCMI (a department store in Salt Lake City ) in 1974. It was donated to the Boston Computer Museum in 1984, where it was on display until 1990. It now resides in the ephemera collection at
207-491: A surface texture. Newell made the mathematical data that described the teapot's geometry (a set of three-dimensional coordinates ) publicly available, and soon other researchers began to use the same data for their computer graphics experiments. These researchers needed something with roughly the same characteristics that Newell had, and using the teapot data meant they did not have to laboriously enter geometric data for some other object. Although technical progress has meant that
230-537: A teapot. The image is titled "The Six Platonic Solids", with Arvo and Kirk calling the teapot "the newly discovered Teapotahedron ". This image appeared on the covers of several books and computer graphic journals. The Utah teapot sometimes appears in the "Pipes" screensaver shipped with Microsoft Windows , but only in versions prior to Windows XP, and has been included in the "polyhedra" XScreenSaver hack since 2008. Jim Blinn (in one of his " Project MATHEMATICS! " videos) proves an amusing (but trivial ) version of
253-626: The Computer History Museum in Mountain View, California where it is catalogued as "Teapot used for Computer Graphics rendering" and bears the catalogue number X00398.1984. The original teapot the Utah teapot was based on is available from Porzellanfabrik Friesland , once part of the German Melitta group. Originally it was given the rather plain name Haushaltsteekanne ('household teapot');
SECTION 10
#1732859302278276-579: The Pythagorean theorem : construct a (2D) teapot on each side of a right triangle and the area of the teapot on the hypotenuse is equal to the sum of the areas of the teapots on the other two sides. Vulkan and OpenGL graphics APIs feature the Utah teapot along with the Stanford dragon and the Stanford bunny on their badges. With the advent of the first computer-generated short films, and later full-length feature films, it has become an in-joke to hide
299-459: The University of Utah . It was one of the first to be modeled using Bézier curves rather than precisely measured. For his work, Newell needed a simple mathematical model of a familiar object. His wife, Sandra Newell, suggested modelling their tea set since they were sitting down for tea at the time. He sketched the teapot free-hand using graph paper and a pencil. Following that, he went back to
322-457: The Utah teapot in films' scenes. For example, in the movie Toy Story , the Utah teapot appears in a short tea-party scene. The teapot also appears in The Simpsons episode " Treehouse of Horror VI " in which Homer discovers the "third dimension." In The Sims 2 , a picture of the Utah teapot is one of the paintings available to buy in-game, titled "Handle and Spout". An origami version of
345-546: The act of rendering the teapot is no longer the challenge it was in 1975, the teapot continued to be used as a reference object for increasingly advanced graphics techniques. Over the following decades, editions of computer graphics journals (such as the ACM SIGGRAPH 's quarterly) regularly featured versions of the teapot: faceted or smooth-shaded, wireframe, bumpy, translucent, refractive, even leopard-skin and furry teapots were created. Having no surface to represent its base,
368-548: The company only found out about their product's reputation in 2017, whereupon they officially renamed it "Utah Teapot". It is available in three different sizes and various colors; the one Martin Newell had used is the white "1.4 l Utah Teapot". One famous ray-traced image, by James Arvo and David Kirk in 1987, shows six stone columns, five of which are surmounted by the Platonic solids ( tetrahedron , cube , octahedron , dodecahedron , icosahedron ). The sixth column supports
391-402: The computer laboratory and edited bézier control points on a Tektronix storage tube , again by hand. The teapot shape contained a number of elements that made it ideal for the graphics experiments of the time: it was round, contained saddle points , had a genus greater than zero because of the hole in the handle, could project a shadow on itself, and could be displayed accurately without
414-560: The expected cubes and spheres, the GLUT library even provides the function glutSolidTeapot() as a graphics primitive, as does its Direct3D counterpart D3DX ( D3DXCreateTeapot() ). While D3DX for Direct3D 11 does not provide this functionality anymore, it is supported in the DirectX Tool Kit. Mac OS X Tiger and Leopard also include the teapot as part of Quartz Composer ; Leopard's teapot supports bump mapping . BeOS and Haiku include
437-432: The original teapot model was not intended to be seen from below. Later versions of the data set fixed this. The real teapot is 33% taller (ratio 4:3) than the computer model. Jim Blinn stated that he scaled the model on the vertical axis during a demo in the lab to demonstrate that they could manipulate it. They preferred the appearance of this new version and decided to save the file out of that preference. Versions of
460-493: The teapot model — or sample scenes containing it — are distributed with or freely available for nearly every current rendering and modelling program and even many graphic APIs , including AutoCAD , Houdini , Lightwave 3D , MODO , POV-Ray , 3ds Max , and the OpenGL and Direct3D helper libraries. Some RenderMan -compliant renderers support the teapot as a built-in geometry by calling RiGeometry("teapot", RI_NULL) . Along with
483-549: The teapot, along with teacups and teaspoons, out of actual tea. List of common 3D test models This is a list of models and meshes commonly used in 3D computer graphics for testing and demonstrating rendering algorithms and visual effects . Their use is important for comparing results, similar to the way standard test images are used in image processing . Designed using CAD software; sorted by year of modelling . Includes photogrammetric methods; sorted by year of scanning. OpenGL Utility Toolkit GLUT
SECTION 20
#1732859302278506-638: The teapot, folded by Tomohiro Tachi , was shown at the Tikotin Museum of Japanese Art in Israel in a 2007–2008 exhibit. In Oct 2021 "Smithfield Utah" by Alan Butler which was inspired by the Utah teapot was unveiled in Dublin, Ireland. Although the original tea set by Newell can be downloaded directly, this tea set is specified using a set of Bézier patches in a custom format, which can be difficult to import directly into many popular 3D modeling applications. As such,
529-453: Was written by Mark J. Kilgard , author of OpenGL Programming for the X Window System and The Cg Tutorial: The Definitive Guide to Programmable Real-Time Graphics , while he was working for Silicon Graphics Inc. The two aims of GLUT are to allow the creation of rather portable code between operating systems (GLUT is cross-platform ) and to make learning OpenGL easier. Getting started with OpenGL programming while using GLUT often takes only
#277722