|
Introduction
3D rendering technology has managed to find its way into the lives of millions of people worldwide. Be it a gaming console connected to a television, animation software on a workstation or the latest special effects blockbuster at the movies, we use and experience 3D rendering and harness its power without giving any thought about the marvelous technology behind it. In part one of this feature series, CGNetworks takes a look at the history of 3D rendering, from the first line algorithm to current technologies, we pay tribute to the scientists who made rendering possible. So next time you hit the render button for your latest blockbuster creation, think about what happens behind the scenes with the histories and developments that push the boundaries of current rendering technology.
From Aircraft to Lines
In 1960, designer William Fetter was attempting to devise a new process in order to maximize the efficiency of the layout inside Boeing's airplane cockpits. His final product was a computer generated orthographic view of the human form. Fetter devised the term 'computer graphics' to describe his creation, starting a chain of events that would eventually revolutionize the world of entertainment, advertising and media. One of Fetter's contemporaries, Ivan Sutherland set things in motion in 1963 when he submitted his PhD. thesis, entitled Sketchpad: A Man-machine Graphical Communications System. The software enabled a person, for the very first time, to interactively create an image on a computer display. According to Sun Microsystems, where Sutherland currently resides as vice president, “sketchpad pioneered the concepts of graphical computing, including memory structures to store objects, rubber-banding of lines, the ability to zoom in and out on the display and the ability to make perfect lines, corners, and joints. This was the first GUI (Graphical User Interface) long before the term was coined” [1].
Upon receiving his PhD, Sutherland was inducted into the US army who at the time were the largest innovators in computer technology. More relevant to the field of computer graphics though, was Sutherland's stay at the University of Utah where he helped transform its budding computer science department into a research institution, which bears significant influence on today's graphics industry.
The very first three-dimensional images were extremely rudimentary by today's standards and consisted of wire frame representations of various geometric shapes. This was acceptable though one could see what was in front and behind the shape. It took Sutherland’s colleagues Evans, Wylie, Romney, and Erdahl to develop the Scan line HSR (Hidden Surface Removal) algorithm to create renders of solid objects. Many hidden surface removal algorithms were presented over the years which include back-face detection, depth sorting, ray casting, Z-Buffer and area subdivision algorithms. Ivan Sutherland and his colleagues later published a paper entitled The Characterization of Ten Hidden-Surface Algorithms, which covered the algorithms known at the time. Incidentally, this would be Sutherland’s last direct contribution to computer graphics research. Today, various scan line algorithms are still used throughout many production facilities.
Shading: Gouraud and Phong
On the road to realism, the next issue for developers was how to increase the apparent complexity of a scene without increasing the amounts of geometry, therefore conserving precious system memory. In the earliest rendering systems, the only way to increase the apparent complexity of a mesh was to add more polygons. This smooth effect would be lost if the camera zoomed in on the model due to the fact that the only shading model available to early renderers was the flat shading model, also known as faceted. This shading model would find the vector, which was normal in relation to a face and use that information to shade all of the pixels.
This all changed when Henry Gouraud developed his now famous, widely utilized, and aptly named, Gouraud shading model. Gouraud works by finding the normal vector pertaining to each vertex of a face, calculating the pixel color at the vertex and then linearly interpolating that color across the face. The result is a fairly smooth surface that takes only a modestly larger amount of processing power than the flat shading model. The only aesthetically displeasing aspects of Gouraud are the edges that still appear faceted, as well as the fact that the surface displays a star shaped highlight due to the linear nature of the interpolation.
A researcher by the name of Phong Bui-Tuong expanded on Henry Gouraud's shading model by taking the next logical step. Instead of finding the normal vectors at just the vertices, the Phong shader calculates a normal at each pixel. By interpolating across the surface based on the normals, Phong results in an extremely smooth surface with accurate highlights the main drawback that Phong is notoriously slow. If one compares the Phong model against Gouraud model on two identical pieces of geometry, one will see that it takes up to eight times as long to render the model shaded using Phong [2].
CG Gets Bumpy
As research into various methods of shading continued, Jim Blinn discovered that by disturbing surface normals, one could simulate the appearance of an increased amount of surface geometry. This technique became known as bump mapping and is still generously used in applications ranging from real time games to feature length movies. Bump mapping is generally implemented by using a black and white bitmap or procedural texture in order to define which pixel will have a perturbed normal. This can achieve the illusion of some very complex geometry, though a drawback of utilizing this technique is there is no increase of geometry along the edge of the surface. Bump mapping was later extended and a technique by the name of displacement mapping was born. This technique is similar to bump mapping except the actual pixel, as well as the normal are transformed. This remedied the problem of the disappearance of surface detail along edges, but also led to a severe increase in processor and memory load.
Recently, the idea of modifying surface normals at the pixel level has been extended even further. The technique of normal mapping was introduced in order to deal with the relatively low amount of bandwidth present in current consumer level graphics hardware, where they were not fast enough to deal with the large-scale models associated with “movie quality” graphics. A solution was found in creating a data structure, which can capture the normal information of a highly detailed model and then apply it to a scaled down version. The effect is similar to that of bump mapping, in that the surface geometry is not altered, yet the illusion of a complex model is achieved. Upcoming games such as Id Software's Doom 3, Valve Software's Half-Life 2 and Bungie's Halo 2 make extensive use of this technique in order to produce their breath taking imagery in real time.
Conclusion
All of the mentioned breakthroughs of the 1960's, 70's, and 80's in rendering and shading technology, as well as some of the more recent advances, have lead to some interesting trends. The problem of how to shade a surface took precedent over the early problem of finding and removing hidden surfaces. More recently, graphics cards vendors have stopped emphasizing the amount of geometry their display cards can handle but rather place their shading abilities into the spotlight, offering more creative control into the hands of developers of real time content. As these trends continue, the lines between cinematic graphics and real time applications will be blurred. This is quite the contrast from the early days of computer graphics when pioneers such as Ivan Sutherland performed their research on machines that cost upwards of one million dollars. Due to the contributions of these pioneers, today computer graphics saturate many aspects of our lives. From art, science, technology and design to the entertaining CG movies which make us laugh, cringe and cry, we owe it all to the pioneers of rendering technology.
Works cited
[1] Sketchpad: The First Interactive Computer Graphics PhD. Thesis, 1963 -- Mass. Institute of Technology. Sun Microsystems. Date Accessed:9/06/03.http://www.sun.com/960710/feature3/sketchpad.html
[2] Hill Jr., F.S. Computer Graphics Using OpenGL Second Edition. Prentice Hall Publishing. 2001.
|