Fahrenheit graphics API
Encyclopedia
Fahrenheit was an effort to create a unified high-level API for 3D computer graphics
3D computer graphics
3D computer graphics are graphics that use a three-dimensional representation of geometric data that is stored in the computer for the purposes of performing calculations and rendering 2D images...

 to unify Direct3D
Direct3D
Direct3D is part of Microsoft's DirectX application programming interface . Direct3D is available for Microsoft Windows operating systems , and for other platforms through the open source software Wine. It is the base for the graphics API on the Xbox and Xbox 360 console systems...

 and OpenGL
OpenGL
OpenGL is a standard specification defining a cross-language, cross-platform API for writing applications that produce 2D and 3D computer graphics. The interface consists of over 250 different function calls which can be used to draw complex three-dimensional scenes from simple primitives. OpenGL...

. It was designed primarily by Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...

 and SGI
Silicon Graphics
Silicon Graphics, Inc. was a manufacturer of high-performance computing solutions, including computer hardware and software, founded in 1981 by Jim Clark...

 and also included work from an HP
Hewlett-Packard
Hewlett-Packard Company or HP is an American multinational information technology corporation headquartered in Palo Alto, California, USA that provides products, technologies, softwares, solutions and services to consumers, small- and medium-sized businesses and large enterprises, including...

-MS joint effort. Much of the original Fahrenheit project was abandoned, and Microsoft and SGI eventually gave up on attempts to work together. In the end only the scene graph
Scene graph
A scene graph is a general data structure commonly used by vector-based graphics editing applications and modern computer games. Examples of such programs include Acrobat 3D, Adobe Illustrator, AutoCAD, CorelDRAW, OpenSceneGraph, OpenSG, VRML97, and X3D....

 portion of the Fahrenheit system was released, known as XSG, which disappeared shortly after release.

Background

In the 1990s SGI's OpenGL was the de-facto standard for 3D computer graphics. Prior to the mid-90s different platforms had used various custom solutions, but SGI's power in the graphics market, combined with the efforts of the OpenGL Architecture Review Board
OpenGL Architecture Review Board
The OpenGL Architecture Review Board is an industry consortium that governed the OpenGL specification.It was formed in 1992, and defined the conformance tests, approved the OpenGL specification and advanced the standard...

 (ARB), led to the rapid standardization of OpenGL across the majority of the graphics workstation
Workstation
A workstation is a high-end microcomputer designed for technical or scientific applications. Intended primarily to be used by one person at a time, they are commonly connected to a local area network and run multi-user operating systems...

 market. In the mid-1990s Microsoft licensed OpenGL for their Windows NT
Windows NT
Windows NT is a family of operating systems produced by Microsoft, the first version of which was released in July 1993. It was a powerful high-level-language-based, processor-independent, multiprocessing, multiuser operating system with features comparable to Unix. It was intended to complement...

 operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

 as its primary 3D system; Microsoft was positioning NT as a workstation-class system, and OpenGL was required in order to be a real competitor in this space. Initial support was released in Windows NT Workstation version 3.5 in 1994.

Confusing matters was Microsoft's February 1995 purchase of RenderMorphics. Their Reality Lab
Reality Lab
Reality Lab was a 3D computer graphics API created by RenderMorphics to provide a standardized interface for writing games. It was one of the main contenders in the realtime 3D middleware marketplace at the time, alongside Criterion Software's RenderWare and Argonaut Software's BRender.Reality Lab...

 product was a 3D library written specifically for gaming purposes, aimed primarily at the "low end" market. After renaming it as Direct3D 3.0
Direct3D
Direct3D is part of Microsoft's DirectX application programming interface . Direct3D is available for Microsoft Windows operating systems , and for other platforms through the open source software Wine. It is the base for the graphics API on the Xbox and Xbox 360 console systems...

, Microsoft released it as the primary 3D API for Windows 95 and game programming. This sparked off a massive debate, both in Microsoft and out, about the merits of the two APIs and whether or not Direct3D should be promoted.

Through the mid-90s SGI had been working on a series of efforts to provide a "higher level" API on top of OpenGL to make programming easier. By 1997 this had evolved into their OpenGL++ system, a retained-mode
Retained mode
In computing, retained mode rendering is a style for application programming interfaces of graphics libraries, in which the libraries retain a complete model of the objects to be rendered.-Overview:...

 C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

 API on top of OpenGL. They proposed that a modified version be used as a single API on top of either OpenGL or a new high-performance low-level API that Microsoft was known to be working on (not based on Reality Lab). This would not only hide the implementation details and make the OpenGL/DirectX war superfluous, but at the same time offer considerably better high-level interfaces for a more robust object oriented development environment.

The OpenGL++ effort dragged on in the ARB through 1997. Although SGI committed resources to the project in order to provide a sample implementation, it appears they were unhappy with progress overall and complained "There's been lots of work, but relatively little communication." Microsoft in particular had stated in no uncertain terms that they would not be supporting the effort, and SGI felt that their support would be essential for any efforts moving forward.

Fahrenheit emerges...

A joint press release in December 1997, followed by an announcement at an ARB meeting in early 1998 by SGI, announced that work on OpenGL++ had been abandoned and SGI had partnered with Microsoft to produce a new system code-named "Fahrenheit". SGI was to provide the primary "mid-sized" API used in most applications, Fahrenheit Scene Graph, as well as a modified version for handling very large models from CAD applications, Fahrenheit Large Model. Microsoft would provide a new low-level rendering engine for Windows known as Fahrenheit Low Level, essentially a replacement for the Reality Lab-based version of Direct3D. The project was officially announced at SIGGRAPH
SIGGRAPH
SIGGRAPH is the name of the annual conference on computer graphics convened by the ACM SIGGRAPH organization. The first SIGGRAPH conference was in 1974. The conference is attended by tens of thousands of computer professionals...

 1998 for release in late 1999 or early 2000.

Fahrenheit became the primary focus of development at SGI. Their MIPS
MIPS architecture
MIPS is a reduced instruction set computer instruction set architecture developed by MIPS Technologies . The early MIPS architectures were 32-bit, and later versions were 64-bit...

-based workstations were quickly losing the performance lead they had in the early 1990s, and the company was in serious trouble as the average PC slowly but surely encroached on the high-end graphics market. SGI saw Fahrenheit as an exit strategy; once complete they would be able to move to a PC-based lineup while still offering the best development tools for a now universal API. Although no porting work began toolkits like Open Inventor
Open Inventor
Open Inventor, originally IRIS Inventor, is a C++ object oriented retained mode 3D graphics API designed by SGI to provide a higher layer of programming for OpenGL. Its main goals are better programmer convenience and efficiency.-Early history:...

 and OpenGL Performer
OpenGL Performer
OpenGL Performer, formerly known as IRIS Performer and commonly referred to simply as Performer, is a commercial library of utility code built on top of OpenGL for the purpose of enabling hard real-time visual simulation applications. OpenGL Performer was developed by SGI which continues to...

 were intended in future to be layered on Fahrenheit, meaning that they could deliver a single fully functional development system for Fahrenheit when it shipped, supporting both their existing customers as well as new ones.

...and disappears

By 1999 it was clear that Microsoft had no intention of delivering Low Level; although officially working on it, almost no resources were dedicated to actually producing code. At the same time Microsoft was in the process of massively investing in DirectX 7.0 (similar to 3.0 largely in name only). Without Low Level, Fahrenheit couldn't be delivered on Windows, and the project stalled. Eventually SGI abandoned work on Fahrenheit and started planning other Scene Graph products which became the last in a series of such projects.

By 2000 DirectX 7.0 was in the marketplace, and proving quite popular. DirectX had become the primary API during the rise of 3D gaming in the late 1990s. Microsoft did release Fahrenheit Scene Graph as XSG the same year, but did so with a note saying it would not be supported. No new versions of XSG were ever released, and all of the pages related to either Fahrenheit or XSG on both the Microsoft and SGI web pages have since disappeared. Hardware accelerated OpenGL support was dropped from the included video drivers in Windows XP
Windows XP
Windows XP is an operating system produced by Microsoft for use on personal computers, including home and business desktops, laptops and media centers. First released to computer manufacturers on August 24, 2001, it is the second most popular version of Windows, based on installed user base...

, although most video card manufacturers deliver their own implementations.

Description

As compared to Open Inventor
Open Inventor
Open Inventor, originally IRIS Inventor, is a C++ object oriented retained mode 3D graphics API designed by SGI to provide a higher layer of programming for OpenGL. Its main goals are better programmer convenience and efficiency.-Early history:...

 or Iris Performer, the design of the XSG included some novel ideas. The composition primitives and traversal methods allowed applications to construct scenes in a manner best suited to the structure of the data being visualized, but then to apply a scene graph optimizer to restructure the scene for more efficient rendering without changing the scene's appearance. The developer simply did whatever seemed natural, and the system made it work quickly.

Pipelined rendering allowed a multithreaded application to construct the scene, cull its primitives, and render it in different threads (borrowing from the Performer app-cull-draw pipeline). The representation of primitive scene data was optimized to minimize the amount of data stored so as to avoid completely duplicating it on a thread-by-thread basis.

One of the unique features of XSG was the ability to replace most of the built-in methods for walking the graph with your own versions. Developers could write new functions for quickly traversing their known methods of storing data inside XSG, and then chain them into existing rendering paths.

David Blythe, the primary architect of Fahrenheit at SGI, now works at Microsoft on DirectX.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK