Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Fahrenheit (graphics API)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Unreleased cross-platform graphics API}} '''Fahrenheit''' was an effort to create a unified high-level [[API]] for [[3D computer graphics]] to unify [[Direct3D]] and [[OpenGL]]. It was designed primarily by [[Microsoft]] and [[Silicon Graphics|SGI]] and also included work from an [[Hewlett-Packard|HP]]-Microsoft joint effort. Direct3D and OpenGL are low-level APIs that concentrate primarily on the rendering steps of the 3D [[rendering pipeline]]. Programs that use these APIs have to supply a considerable amount of code to handle the rest of the pipeline. Fahrenheit hoped to provide a single API that would do most of this work, and then call either Direct3D or OpenGL for the last steps. 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]] portion of the Fahrenheit system, known as '''XSG''', saw a release and was discontinued shortly afterwards. == History == === Background === In the 1990s SGI's [[OpenGL]] was the [[de facto standard|''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]] (ARB), led to the rapid standardization of OpenGL across the majority of the [[workstation|graphics workstation]] market. In the mid-1990s, Microsoft licensed OpenGL for their [[Windows NT]] [[operating 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.<ref>PC Magazine, December 20, 1994</ref> Confusing matters was Microsoft's February 1995 purchase of [[RenderMorphics]].<ref>{{cite web |url=http://www.qubesoft.com/index.php?main=overview.html |title=RenderMorphics and Reality Lab History |publisher=Qube Software |access-date=2009-01-25 |url-status=dead |archive-url=https://web.archive.org/web/20081223192814/http://www.qubesoft.com/index.php?main=overview.html |archive-date=2008-12-23 }}</ref> Their [[Reality Lab]] product was a 3D library written specifically for gaming purposes, aimed primarily at the "low end" market. After renaming it to [[Direct3D|Direct3D 3.0]], Microsoft released it as the primary 3D API for [[Windows 95]] and game programming. This sparked off a massive debate, both within Microsoft and outside, about the merits of the two APIs and whether or not Direct3D should be promoted.<ref>{{cite web |first=Paul |last=Thurrott |url=http://windowsitpro.com/article/articleid/17161/open-gl-vs-direct3d-the-debate-continues.html |title=Open GL vs. Direct3D: the debate continue |publisher=Windows IT Pro |date=July 16, 1997 |accessdate=2009-01-25 |archive-url=https://web.archive.org/web/20100205235144/http://windowsitpro.com/article/articleid/17161/open-gl-vs-direct3d-the-debate-continues.html |archive-date=February 5, 2010 |url-status=dead }}</ref><ref>{{cite web |first=Paul |last=Thurrott |url=http://windowsitpro.com/article/articleid/17172/direct3d-vs-opengl-continues-id-and-alex-st-john-strike-back.html |title=Direct3D vs. OpenGL continues: id and Alex St. John strike back |publisher=Windows IT Pro |date=July 21, 1997 |accessdate=2009-01-25 |archive-url=https://web.archive.org/web/20100205235834/http://windowsitpro.com/article/articleid/17172/direct3d-vs-opengl-continues-id-and-alex-st-john-strike-back.html |archive-date=February 5, 2010 |url-status=dead }}</ref><ref>[http://www.vcnet.com/bms/features/3d.html Microsoft and 3D Graphics: A Case Study in Suppressing Innovation and Competition] {{webarchive |url=https://web.archive.org/web/20071023062602/http://www.vcnet.com/bms/features/3d.html |date=October 23, 2007 }}</ref> 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 plus plus|OpenGL++]] system, a [[retained mode|retained-mode]] [[C++]] 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."<ref>{{cite web|url=http://www.opengl.org/about/arb/meeting_notes/notes/OpenGL++_notes_6-3-97.html |title=OpenGL ++ ARB Interest Subcommittee Meeting Notes |publisher=OpenGL |date=June 6, 1997 |accessdate=2009-01-25}}</ref> 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. === Announcement === A joint press release in December 1997,<ref>{{cite web|url=http://www.microsoft.com/presspass/press/1997/dec97/fahrpr.mspx |title=Silicon Graphics and Microsoft Form Strategic Alliance To Define the Future of Graphics |location=MOUNTAIN VIEW, Calif. |publisher=Microsoft |date=1997-12-17 |access-date=2009-01-25 |url-status=dead |archive-url=https://web.archive.org/web/20090122235422/http://www.microsoft.com/presspass/press/1997/dec97/fahrpr.mspx |archive-date=2009-01-22 }}</ref> followed by an announcement at an ARB meeting in early 1998 by SGI,<ref>{{cite web |first=Jon |last=Leech |url=http://www.opengl.org/about/arb/meeting_notes/notes/Meeting1.2/meeting_note_10-03-98.html |title=ARB Meeting Notes |publisher=OpenGL |location=Salt Lake City, UT |date=March 9β10, 1998 |accessdate=2009-01-25 |archive-date=2008-05-16 |archive-url=https://web.archive.org/web/20080516083305/http://www.opengl.org/about/arb/meeting_notes/notes/Meeting1.2/meeting_note_10-03-98.html |url-status=dead }}</ref> 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''',<ref>{{cite web|first=Jenny |last=Dana |url=http://silicon-valley.siggraph.org/MeetingNotes/Fahrenheit.html |title=APIs of the Fahrenheit Initiative |work=Silicon Valley |publisher=SIGGRAPH |date=September 1998 |access-date=2009-01-25 |url-status=dead |archive-url=https://web.archive.org/web/20070807120157/http://silicon-valley.siggraph.org/MeetingNotes/Fahrenheit.html |archive-date=2007-08-07 }}</ref> as well as a modified version for handling very large models from [[Computer-aided design|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.<ref name=faq>[https://web.archive.org/web/19990203052727/http://www.sgi.com/fahrenheit/faq.html Fahrenheit FAQ], Wayback Machine's archive of SGI's FAQ</ref> The project was officially announced at [[SIGGRAPH]] 1998 for release in late 1999 or early 2000.<ref name=directx>{{cite web|url=http://www.directx.com/graphics/fahrenheit.htm|archiveurl=https://web.archive.org/web/20080421215948/http://www.directx.com/graphics/fahrenheit.htm|archivedate=2008-04-21 |title=What is/was Fahrenheit? |publisher=DirectX.com |accessdate=2009-01-25}}</ref> Fahrenheit became the primary focus of development at SGI. Their [[MIPS architecture|MIPS]]-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]] and [[OpenGL Performer]] 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.<ref name=faq/> === Cancellation === 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.<ref name=directx/> 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<ref>{{cite web|url=http://findarticles.com/p/articles/mi_m0CGN/is_1999_Oct_19/ai_56540594 |title=HP Readies Fahrenheit Graphics Engines |publisher=[[Computergram International]] |date=1999-10-19 |accessdate=2009-01-25}}</ref> 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]], although most video card manufacturers deliver their own implementations. == Description == As compared to [[Open Inventor]] 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 their 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, worked at Microsoft on DirectX until 2010. He was also Chief Graphics Software Architect at Intel. == See also == * [[QuickDraw 3D]] * [[Microsoft Talisman]] == References == {{Reflist|30em}} [[Category:3D graphics APIs]] [[Category:3D scenegraph APIs]] [[Category:DirectX]] [[Category:OpenGL]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Cite web
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Webarchive
(
edit
)