http://www.sgi.com/products/Indy/Indy_Report7.html (Silicon Surf Promotional CD, 01/1995)
Section 7 Software Environment
Indy offers exciting software solutions to complement the powerful Indy hardware and enhance the working and development environment.
The full hardware power of Indy is made available through bundled end-user tools such as Indigo Magic(tm) and IRIS Showcase(tm)3.0. Several products for the developer are also available, including CASEVision tools, programming and media libraries.
The extensive set of software available with Indy allows both developers and end-users to add interactive 3D, high-resolution images, audio, and video to applications and presentations.
Industry standards are utilized throughout Indy software. From Unix to X11 to standard image and audio file formats, Indy provides a standards based environment that allows for easier integration into a heterogenous work environment as well as easier development and maintenance of applications.
Indy is binary-compatible with other IRIS 4D workstations; applications written for existing IRIS workstations run with little or no modification on Indy, and applications written on Indy also run on other IRIS 4D systems. Because Indy supports most of the advanced graphics features found on IRIS Advanced Graphics systems, you can use the less expensive Indy to run advanced graphics applications or to develop applications for more expensive IRIS 4D systems.
Indy comes with a rich set of system and application software installed on disk. They present end-users with an intuitive and visually pleasing graphical interface to the operating system, which makes desktop file operations and system configuration fast and simple. The development option offers programmers an extensive set of both industry-standard and proprietary libraries as well as development tools to quickly construct applications of any size and complexity.
The Indigo Magic User Environment is a revolutionary new Media User Interface that utilizes the full screen as a background desktop. The icons provide a visual interface to file system navigation, mounting of remote devices, searching for resources on the network---every aspect of interacting with UNIX. Icons are used to represent files, applications, people, machines, devices, etc., and they change in appearance to indicate a state of activity. A printer icon, for example, changes its appearance to indicate when the printer software is processing a document or when the printer is idle.
The Indigo Magic User Environment lets you create multiple desktops containing all the applications, files, and tools you need to work on specific projects, or organize your desktops by functions; for example, creating one desktop for software development and another for computer aided design. It also includes an extensive collection of media tools including Media Mail (you can send electronic mail with video and audio) and IRIS Showcase(tm) 3.0 which provides all the features you need to create interactive multi-media presentations.
Indigo Magic provides supports for developer integration into the Media User Interface with support for standard Motif and a common set of resources such as file browsers, movie players, etc. The Indigo Magic Developers kit also offers cut and paste extensions to support all first-class SGI data types.
Now you can access Silicon Graphics end user manuals, customer support, and product information directly on your Indy using the on-line documentation viewer built into Indigo Magic. You can choose to access your online manuals from your system disk, a server, or directly from CD-ROM.
Indigo Magic includes a set of powerful easy-to-use tools providing basic production capabilities for a range of media. There are tools to capture, create, and manipulate standard-format images, with support for image scan, blur, rotate, scale, stretch, sharpen, and more. The video tools provide plug and play capability with NTSC or PAL video input and output. Users can grab video frames, create and edit movies, and create audio annotation. A Video Control Panel, Video Pro Panel, Movie Maker, Movie player, Audio Control Panel, SoundEditor and SoundFiler, CD Manager and DAT Manager are included with the Indigo Magic media tools. In addition, Indigo Magic Movie Tools support creation and playback of QuickTime(tm) movies as well as a Silicon Graphics movie format.
With over 20 MByte of ready-to-use images, sounds, movies and 3D objects, the Digital Media Clip Library takes you several steps closer to compelling interactive presentations.
Indigo Magic includes a Media Mail application with which users can distribute multimedia files over a network. It provides a graphical user interface to the standard UNIX mail systems and lets you attach a file or other type of media.
IRIS Showcase(tm) 3.0 allows you to create interactive documents that incorporate text, raster images, digital audio, live video graphics, and 3D objects. A Showcase document can be viewed as an interactive presentation or an onscreen slide show, captured on video tape for a video presentation, printed as a paper document or overhead, or encoded as ASCII and sent as a message using the Indigo Magic Media Mail.
Showcase 3.0 allows you to create, import, and edit Inventor-based 3D models. You can use your primary application to develop model data and then import the data into Showcase to take advantage of Showcase's editing and interactive presentation features. Showcase 3.0 3D editing capabilities include: a material editor, a material palette, a texture editor, and palette, an extrusion profile editor, and a light and shadow editor. Translators to the Inventor file format for DXF, IGES, and several applications are available.
Showcase HyperScripts allow you to create interactive documents that include scripted actions linked to objects on a page. HyperScript actions include page turns, launching other applications, playing video, playing audio, and many others.
Showcase also supports a wide selection of font families and point sizes. Fonts can be rotated, scaled interactively, and converted to 2D graphics.
InPerson is an affordably priced desktop conferencing software package that turns your workstation into a powerful communications center. It allows you to call other properly equipped workstations and interact with live video and audio while you work together---in real time---on a selected file, a captured image, or a text document.
IRIS Explorer(tm) is a modular application builder that enables end users and developers to rapidly prototype applications and reconfigure their software environment. IRIS Explorer greatly simplifies using Silicon Graphics systems to create new applications, visualize changing data sets, integrate foreign data types, and much more. Users can:
- build applications from a series of reconfigurable modules
- visualize data sets in new and unique ways
- publish modules for use by others
- obtain tangible results in minutes---without programming
- work in a distributed execution environment
- use existing code as a basis for new modules
The IRIS Explorer environment is a new paradigm for using computers. Modules supporting Computational Fluid Dynamics, Molecular Modeling, EOS-DIS Earth Sciences, Medical Imaging, and more can be combined with user-created modules to build applications and to explore science in ways that change as fast as the users' needs.
Indy offers a productive software environment for many kinds of software development. For UNIX programming, it provides IRIX 5.2, Silicon Graphics' version of SVR4 UNIX with 4.3 BSD extensions, and other extensions that include TCP/IP network protocols and Network File System(tm) (NFS(tm)). For window management, it provides a full implementation of the X11/R6 Window System, Display PostScript(tm), and 4Dwm(tm), a Motif(tm)-based window manager. To resolve any potential color conflicts between X11 and 3D graphics applications, Indy keeps completely separate color maps for both X11 and IRIS Graphics Library(tm) applications.
For graphics programming, Indy offers a software-based implementation of the IRIS Graphics Library API. It offers support for input devices such as the mouse, keyboard, trackball, and digitizing tablet. It also provides calls for object modeling in 3D space for spatial transformations (providing perspective and viewpoint control, etc.), for lighting, rendering polygonal and spline surfaces, smooth animation, and many other graphics tasks. It provides the full set of IRIS Advanced Graphics features (with the exception of stencil-plane and alpha source-blending functions), which include fogging and multiple arbitrary clipping planes. In addition, with IRIX 5.2, IRIS GL graphics can be displayed within subwindows of X applications, allowing IRIS GL programmers to take advantage of Motif and other X11-based user interface toolkits, and X programmers to make use of high-performance graphics.
For image processing on an Indy, the SGI ImageVision Library(tm) offers an object-oriented extensible toolkit for creating, processing, and displaying images. Its core set of over 70 routines provides general-purpose image operators which are easily augmented using abstract data types (objects) and access functions (methods). It also provides a general interface for image-processing applications, support for SGI, TIFF, and FIT formats, an optimal memory model for handling large images, and an architecture that supports general image types.
Silicon Graphics' expertise in visual processing technology provides an advanced, interactive, visual development environment with CASEVision(tm). CASEVision brings the advantages of visualization to software developers by providing the ability to see processes and data structures.
Premiere third-party CASE products supplement Silicon Graphics' solutions. The ToolTalk(tm) integration mechanism allows both Silicon Graphics' and third-party solutions to be tightly integrated so users can concentrate on the job at hand instead of managing the boundaries between the individual tools. The CASEVision environment is optional and composed of the following major components:
CASEVision(tm)/Workshop is an Interactive programming environment that consists of a Static Analyzer, a visual Debugger, a Performance Analyzer and a Build Analyzer.
CASEVision(tm)/ClearCase is an advanced Configuration Management, Version Control and Build Management system designed to support large-scale development.
CASEVision(tm)/Tracker is a flexible event tracking system that is tightly integrated with other CASEVision solutions.
Silicon Graphics supplies a variety of compilers to best suit your programming needs. ANSI standard C and Fortran compilers are available, as well as compilers for C++, Ada, and Pascal.
IRIX 5.2 includes a set of profiling tools that can identify CPU-intensive code fragments to help focus optimization efforts. Prof and pixie provide detailed analyses of application performance. Grosview gives a view of system loading; users can see what percentages of the available CPU,
I/O, and other resources are being used at any given time.
IRIX 5.2 also includes general and specialized debuggers. Dbx, a standard UNIX source-level debugger is included. In addition, IRIX 5.2 comes with gldebug, specifically designed for debugging graphics applications created using the IRIS Graphics Library API. It includes a viewer which graphically displays the state of the IRIS GL as the application is running, and a controller, which lets you interactively set break points and change the level of debugging output.
The IRIS Graphics Library(tm) (IRIS GL(tm)) is a set of over 300 function calls available in C, C++, Fortran77, Ada, and Pascal versions. IRIS GL simplifies the development of highly interactive real-time graphics applications. It supports input devices such as the mouse and keyboard, digitizing tablets, dial and button boxes, and the spaceball. When used in conjunction with a toolkit like IRIX/Motif, IRIS GL lets developers create highly responsive graphics applications with industry-standard user interfaces.
IRIS GL programmers define object, world, and viewing coordinate systems, and apply orthographic or perspective projections to map them to any viewport on the screen. Objects can be translated, rotated, and scaled in real time, without flicker, by taking advantage of high-speed IRIS GL 3D rendering capabilities and double buffering. IRIS GL includes powerful primitives that allow programmers to create points, lines, arcs, circles, polygons, parametric curves, rational bi-cubic patches, and Gouraud shaded, Z-buffered solids. Complex objects can be quickly built by combining these primitives.
Advanced Graphics Features
Indy supports most IRIS GL functions, including IRIS Advanced Graphics functions found on high-end IRIS workstations. All Indy configurations support the following Advanced Graphics features:
- lighting models
- texture-mapping
- accumulation buffer
- alpha blending
- fogging
- arbitrary clipping planes
- antialiased lines
- depth cueing
- subpixel positioning
Indy also support these Advanced Graphics features:
- stenciling
- source alpha blending
- antialiased points
- pixel read, write, and copy
Network Transparency
In IRIX 5.2, the IRIS GL API is network-transparent; any IRIS GL program may be run remotely from another IRIS 4D workstation sharing the same network as the host workstation. Users can set the DISPLAY variable in their environment to the name of the workstation to which they want to send IRIS GL (and X11) applications to be imaged (IRIS GL works remotely only on other IRIS workstations running IRIX 5.2).
Open GL is an application programming interface (API) providing 2D and 3D graphics functions to software programmers. Functions include modeling, transformations, color, shading, lighting, texture mapping, and sophisticated framebuffer operations such as alpha blending and motion blur. All functionality is supported across the IRIS workstation family, as well as all other Open GL implementations on other workstations and personal computers.
IRIS Inventor(tm) is an object-oriented software library that drastically simplifies graphics programming. It is the catalyst for writing highly interactive, creative graphics applications. This programming environment provides a rich set of pre-programmed building blocks, and defines a full featured, extensible framework through which entire applications can be developed.
The ImageVision Library(tm) object-oriented extensible toolkit is for creating, processing, and displaying images on all IRIS 4D workstations. The toolkit provides a framework for managing and manipulating images to aid image processing applications developers. Some of the features it provides are:
- A common functional interface for image processing applications across the IRIS 4D product line.
- A core set of general purpose image operators and an easy way to add new operators. The first release contains a core set of about 70 routines. A set of abstract data types (objects) and access functions (methods) are provided to allow a developer to design and augment the set of image operators.
- Support for three standard image formats: SGI, TIFF, and a tiled format based on TIFF called FIT. New file formats can be seamlessly integrated into the library as needed.
- An optimal memory model for handling large images. ImageVision Library provides a memory model for efficient manipulation of general image data types, sizes, and resolutions. It includes a configurable cache to allow access to and processing of very large images.
- An architecture that supports general image types. ImageVision Library provides an interface for manipulating image attributes and image data requiring little or no knowledge of the internal structure and format of the image.
Several libraries are available for Indy to assist programmers in developing multimedia applications incorporating 2D and 3D graphics and audio, as well as support for video I/O devices. Key among these are the Audio Library, the IndigoVideo Library(tm), the MIDI Library and Compression Library, and the Image Processing Library.
The Digital Media Development Option offers a comprehensive and intelligent environment for digital media application development on Indy. Six library modules callable from C and C++ enable the rapid development of audio, video and MIDI applications that need to use unique hardware features found on Indy. DMDEV gives you the power to access the world of digital media.
The Audio Library and Audio File Library access the basic capabilities: reading and writing samples from the hardware and reading and writing disk files in AIFF and AIFF-C formats. The CD-ROM Audio Library and DAT Audio Library provide transport control and access the audio capabilities of the optional CD-ROM and DAT drives. The MIDI Library supports reading and writing of time-stamped MIDI messages through Indy serial ports using a Macintosh serial port to MIDI converter. it also assists with the parsing of incoming MIDI messages.
IRIX is Silicon Graphics' implementation of the UNIX operating system, first developed by AT&T Bell Laboratories. IRIX 5.2 is based on AT&T UNIX System V.4, but also includes numerous 4.3 BSD extensions, such as TCP/IP network protocols and Network File System (NFS), which provide transparent access to files across a heterogeneous network. Adherence to these industry standards lets users easily integrate an Indy into existing computing environments.
In addition to the BSD extensions, IRIX includes several enhancements to support the real-time requirements of 3D graphics and audio:
- non-degrading priorities and high-resolution timers
- kernel primitives and libraries that support multi-process applications and high-performance concurrent programming
- memory-mapped files that allow a process to access a file as part of its address space
- a tight coupling between the operating system and IRIS Graphics Library kernel routines to produce high graphics throughput
IRIX applications are binary compatible across the entire IRIS 4D product line, making it trivial to move existing applications to an Indy and to port applications developed on an Indy to more expensive machines.
The Indy operating system, IRIX 5.2, is a standards-rich user and programming environment, compliant with the following window system and operating system standards:
- X11/R6
- IRIX/Motif, based on OSF/Motif Release 1.2.2
- Display PostScript
- AT&T UNIX System V.4, with 4.3 BSD enhancements
- POSIX 1003.1
- X/OPEN XPG3, Vol. 1,2,3
With the release of IRIX 5.2, the X Window System(tm) runs native on all IRIS workstations. Indy was designed to run X11/R6 quickly and efficiently. X11 support on an Indy and the rest of the IRIS family includes Display PostScript, the OSF/Motif user interface toolkit, and special extensions for supporting 3D graphics subwindows within X applications. Other extensions to X11 include arbitrary shaped windows, and input mechanisms for IRIS input devices such as tablets, dial-and-button boxes, and the spaceball.
4Dwm is an OSF/Motif-compliant window manager similar to the widely-used mwm, but offering enhanced usability and functionality for the end-user. 4Dwm, like most X-based window managers, is customizable to suit the individual user's taste.
IRIX/Motif
The IRIX/Motif toolkit offers an industry-standard API for constructing graphical interfaces. The Motif library is included as part of the Graphics Development Option for Indy and other IRIS 4D workstations. Interactive user-interface builders are also available as an option.
Display PostScript
The Display PostScript (DPS) server from Adobe is shipped as part of the IRIX 5.2 window system. Silicon Graphics is the first company to offer full 24-bit color support in Display PostScript under X. The DPS library is included as part of the Graphics Development Option for Indy, and can be used in conjunction with X and Motif to create complete 2D applications.
X11 and the IRIS GL
IRIX 5.2 supports IRIS GL imaging and X-based graphics in separate subwindows of the same parent X window. To make this possible, Silicon Graphics provides an IRIS GL widget and several function calls for easy integration into X applications. This allows applications to use IRIX/Motif for a common, portable, and interoperable user interface and IRIS Graphics Library for high-performance 3D rendering.
X11 and the Open GL
The Silicon Graphics implementation of X11/R6 fully supports GLX, the Open GL extension to the X Window System.
IRIX 5.2 provides TCP/IP and a complete suite of Internet and BSD network application programs. For administering medium to large networks, Silicon Graphics' offers NetVisualyzer(tm), which allows the user to interactively locate and correct network bottlenecks and breakdowns, and to analyze network usage via graphical displays of the entire network.
Indy connects out of the box to Ethernet and ISDN networks. In addition, several optional networking products are currently available:
- NFS(tm) with the Network Information System (NIS)(tm) allows file sharing, directory services, and data format interpretation
- TCP 3270 software allows Indy to connect to an IBM mainframe via Ethernet
- SNA 3270, 3770, and LU6.2 software allows Indy to connect to an IBM mainframe through an SNA gateway
- 4DDN(tm) software allows Indy to connect to a DEC system using DECnet(tm) protocols
- FDDI
- ATM
- Token Ring
- Macintosh connectivity (third party solution)
- SNMP agent
- Distributed IRIS GL
- NetVisualyzer(tm) (visual traffic monitor)
The networking capabilities of Indy can also be expanded with the
addition of an optional FDDI port or an additional Ethernet port.