SGI Windows NT Toolbox
|Download Files|

An Introduction to Scene Graph Technology

Written by Chris Insinger, Product Manager Illustrated by Dany Galgani

Fahrenheit is the code name for the partnership between SGI and Microsoft to design and implement new 3D graphics APIs for the Windows®, IRIX®, and HP-UX platforms.

The Fahrenheit APIs will enable a new class of graphics-rich applications with higher performance and graphics quality than ever before. Fahrenheit-based applications will enjoy the benefits of performance, standardization and portability, and will make optimal use of available hardware resources.

The Fahrenheit initiative defines three new APIs that can be thought of as three "layers" of APIs. They are:

  • Fahrenheit Low Level API
  • Fahrenheit Scene Graph API
  • Fahrenheit Large Model API
FSG interface
The functionality of each of these APIs can be described as follows:

Fahrenheit Low Level -- This is a rendering API, similar to OpenGL® and Direct3D Immediate Mode. Its function is to abstract the underlying hardware and to provide programmers with a way to render a simple set of graphics primitives such as points, lines, and polygons.

Fahrenheit Scene Graph -- This is a Scene Graph API, which provides programmers with a higher level of abstraction than that offered by a low-level API. The Scene Graph defines a data structure that holds all graphics information relevant to an entire scene, allowing programmers to manage all scene-related data in a consistent fashion. Because the Fahrenheit Scene Graph API works at the scene level it can perform aggressive optimizations that cannot be achieved at a lower level.

Fahrenheit Large Model -- This API is an extension to the Fahrenheit Scene Graph API. It extends the base scene graph with features and capabilities that are especially useful to those applications dealing with very large models, typically found in the CAD environment. Fahrenheit Large Model adds functionality to simplify large models, convert mathematical descriptions of curves and surfaces to polygonal primitives, and enables interactive manipulation of large models.

 
The Fahrenheit Partners
In designing and implementing these new APIs, the Fahrenheit collaboration draws on the strengths of its partners. The Fahrenheit Scene Graph will be strongly influenced by SGI's experience in implementing several scene graph toolkits, including IRIS PerformerTM, which is extensively used in high-performance, real-time visual simulation applications, as well as the broadcast industry and in high-end entertainment applications. The Fahrenheit Scene Graph will additionally benefit from SGI's experience with its other scene graph toolkits, including Open InventorTM and Cosmo 3DTM The work that SGI has done on OpenGL++ also plays an important role in the creation of the Fahrenheit Scene Graph.

The Fahrenheit Large Model API will be strongly based on the SGI OpenGL OptimizerTM product and on technology from Microsoft® and Hewlett-Packard's DirectModel product.

All Fahrenheit development benefits from the acknowledged graphics expertise of the Microsoft DirectX development team and the Microsoft Research group.

In the development of the Fahrenheit Low Level API there will be a collaborative effort with Intel to ensure that the combination of the Fahrenheit Low Level API and the Intel® microprocessors results in the best possible platform for future graphics applications.

Supported Platforms
Fahrenheit Scene Graph currently supports the following platforms:

  • Windows NT® and Windows 98
  • IRIX
  • HP-UX
The initial languages for which bindings will be supplied are C++, C, Visual Basic, and JavaTM.

Timeline
Fahrenheit Scene Graph will be released in the second half of 1999. The Windows, IRIX, and HP-UX releases are expected to occur simultaneously.

Information in This White Paper
The remainder of this white paper will describe scene graphs in general, the benefits of the Fahrenheit Scene Graph, and an overview of its components.

Information of a more technical nature as well as information on the other Fahrenheit APIs (Fahrenheit Low Level API and Fahrenheit Large Model API) will be made available in other documents.


Copyright © 1999, Silicon Graphics, Inc.