DIGITAL Software Product Description ___________________________________________________________________ PRODUCT NAME: Digital PHIGS Version 5.0 for OpenVMS Alpha SPD 44.45.09 DESCRIPTION Digital PHIGS (Programmers Hierarchical Interactive Graphics System) (formerly DEC PHIGS) for OpenVMS Alpha Systems is a sophisticated three- dimensional graphics support system that defines, modifies, organizes, and displays hierarchical, graphical data. Digital PHIGS manages this data in a conceptually centralized database. Digital PHIGS for OpenVMS Alpha is Digital Equipment Corporation's im- plementation of the 1988 ANSI/ISO PHIGS standard for three-dimensional device-independent graphics. Digital PHIGS supports DECwindows Motif for OpenVMS Alpha, and is supported on most Digital processors run- ning the OpenVMS Alpha Operating System. Digital PHIGS is device-independent; the same program can generate graph- ical output on different devices without modification to the source code. The graphical output formats supported by Digital PHIGS include: o CGM (Computer Graphics Metafile) o DDIF (Digital's Document Interchange Format) o Hewlett-Packard Graphics Language (HP-GL) o PostScript Digital PHIGS provides five language bindings in which graphical data can be created and managed: ISO Fortran, ISO C, Ada, DEC C (Digital's version of the C binding), and PHIGS$ (a language-independent bind- ing). Each of these bindings is packaged as a set of shareable images October 1996 with which application programs are linked. The shareable images are then activated at run-time as needed. In addition to the features specified in the PHIGS standard, Digital PHIGS provides PHIGS PLUS features and GM/EDS extensions. These fea- tures and extensions include: o Hidden line/hidden surface removal (HLHSR) o Lighting, shading, and depth cueing o Additional primitives: Circles Circular arcs Triangle strips Quadrilateral meshes Indexed polygons Trimmed and untrimmed NURBs (nonuniform rational B-splines) The result of this additional functionality is that application soft- ware need not generate complex graphics, because these graphics are provided in graphics libraries. OpenGL Support Digital PHIGS supports output to Digital OpenGL Version 1.0 servers. For OpenVMS Alpha, the OpenGL server extension and the OpenGL object library are available as part of the Digital Open3D for OpenVMS Alpha product. PEX Support Digital PHIGS supports output to Digital's PEX Version 5.0 and PEX Ver- sion 5.1 servers. For OpenVMS Alpha, the PEX server extension and the PEXlib object library are available as part of the Digital Open3D for OpenVMS Alpha product. 2 Elements and Structures In Digital PHIGS, the smallest component of data is an element. One or more elements can be grouped together in a structure that describes a graphical object. The elements supported by Digital PHIGS include output primitives (polylines, polymarkers, and so on), attribute elements, transformation and clipping elements, control structure el- ements, and application data elements. These elements can be edited at any time by an application program. Structures are maintained in a graphical database known as the struc- ture store. Graphical output is generated by a structure traversal mech- anism that interprets the elements in the structure store and displays them on the screen. This mechanism is called structure mode. Digital PHIGS provides an alternate traversal mechanism called imme- diate mode. In this mode, PHIGS elements can be rendered directly to the display surface without being placed in the structure store. Output Primitives Digital PHIGS provides a variety of output primitive elements for cre- ating basic two-dimensional and three-dimensional graphics components in the structure store. These elements are: Annotation - Text that is transformed from modeling coordi- Text nates to normalized projection coordinates (always readable). This text can be in 8-bit or 16-bit format, and can be displayed in a variety of fonts and orientations. Text position is affected by transformations, but text size is not. Cell - A two- or three-dimensional array of cells with Array individual colors (OpenGL workstation types only). Circular - An arc of a circle, specified by a center point, a Arc radius, and starting and ending angles. Fill - A filled circular area specified by a center point Circle and a radius. 3 Elliptical - An arc of an ellipse, specified by a center point, Arc major and minor axis vectors, and starting and ending angles. Fill - A filled ellipse, specified by a center point, and Ellipse major and minor axis vectors. Fill - A polygonal area that can be hollow or filled Area with a uniform color or a hatch style. The edges of the area are not defined and cannot be con- trolled. A variant of this primitive allows you to specify the fill area shape, and thus optimize performance. Fill - A set of polygonal areas with holes or disjointed Area regions that are treated as a single entity. Con- Set trol of edge attributes is provided. A variant of this primitive allows you to specify the fill area set shape, and thus optimize performance. Index - A set of polygons (possibly nonplanar) that per- Polygons mits PHIGS to take advantage of shared vertices. NURBs - A nonuniform rational B-spline, which is a three- dimensional curve or surface generated from user- specified control points, approximation criteria, and possibly trimming curves. Pixmap - A pixmap element formatted for X11 display. Polyline - A set of connected lines defined by a series of points and having line type, line width, color, and shading attributes defined. Polyline - A collection of polylines. Set Polymarker - One or more symbols that can mark significant points in a display and have type, size, scale, and color attributes defined. Quadrila- - An array of quadrilaterals, each of which shares teral Mesh an edge with the next quadrilateral in the mesh. 4 Text - A character string at a given position in modeling coordinate space. This string can be in 8-bit or 16-bit format, and can be displayed in a variety of fonts and orientations. Text size is affected by transformations. Triangle - A sequence of triangles, each of which shares an Strip edge with the next triangle in the strip. Attributes Each output primitive element has an associated set of attribute el- ements that control the primitive's appearance. Attributes can be de- fined in groups (bundles) or individually. Some examples of attributes are: Line Type - The style of a line, for example, dotted or dashed. Line - The width of the line. Width Color - The color of the line. You can select one of the predefined colors or specify the red, green, and blue intensities required to define a particular color on color devices. Character - Text attributes, including font, character spac- Attributes ing, height, angle, path, and alignment. Transformations and Views Digital PHIGS allows the definition of objects in their own "model- ing" coordinate systems. Transformation functions are provided to position these objects with respect to one another in a "world" coor- dinate system. World coordinates can have any scale. For example, one application might have a maximum range from 0 to 1000.0; another application might limit the range from 0.01 to 0.1. Digital PHIGS automatically converts from 5 world coordinates to coordinates appropriate for the display device being used. The user can control multiple, simultaneous views of the same objects on one or more display surfaces, as well as the position and size of the picture on the surface. In addition, Digital PHIGS provides func- tionality for posting structures to specific views, as well as to the display (as in the standard PHIGS viewing model). Modeling Clip The modeling clip feature enables you to define clipping limits to be applied to a model before viewing transformations are applied. The clip- ping limits can be defined to specify a simple or complex volume within the world coordinate system. This capability is available on OpenGL workstation types only. Control Functions Control functions are used to perform system management tasks related to the Digital PHIGS environment, the workstation environment, and the graphics display. These tasks include turning Digital PHIGS on and off when requested by the application, and directing the flow of graph- ics data from the structure store to one or more logical devices. Inquiry Functions Digital PHIGS includes a complete set of inquiry functions. These func- tions are used to obtain information about the PHIGS state, the archive storage, workstation capabilities, or the workstation state. This information is essential for developing modular, device-independent programs. 6 Structure Search and Inquiry Digital PHIGS provides several methods for interrogating the struc- ture store: o Inquire element functions-These functions provide complete infor- mation about a structure, including element type, size, and content. o Element search function-This function searches a single structure for an element of a given type. o Incremental spatial search (ISS) functions-These functions search a structure network for the next occurrence of a graphical output structure element that meets a given criteria. This feature is avail- able on OpenGL workstation types only. Escape Functions Escape functions are included with Digital PHIGS to enable access to functionality not provided in the PHIGS standard. The Digital PHIGS escape functions include: o Anti-aliasing o Batch quick updates o Double buffering control o Transparency o Background pixmap control o User-defined line types o User-defined marker types o Render element range 7 Logical Input Devices Digital PHIGS supports synchronous and asynchronous input from the fol- lowing logical input devices: Locator - Allows the user to select a point on the display. Stroke - Allows the user to input a series of points on the display. Valuator - Allows the user to select a real number from a given range, for example, by sliding a pointer to a position on a radio dial. Choice - Allows the user to make a selection, for example, from a list of choices in a menu. String - Allows the user to input a character string, for example, as input to a prompt. Pick - Allows the user to select an object that is visible on the display. The information returned consists of a structure identifier, a pick identifier, and an element number for each level in the structure network. Name Sets Name sets are used by Digital PHIGS to group individual graphic elements together when determining eligibility for highlighting, vis- ibility, and picking. For example, in an architectural drawing, all steam pipes can be grouped in a name set and all water pipes in another. These sets of pipes can then be made invisible, pickable, or highlighted as a group. Archive Storage Digital PHIGS provides an interface for archiving files in which all or part of the structure store can be saved permanently. The struc- ture store can be accessed later by the same or other applications. Archive files can be used to: o Save and restore graphical information between sessions 8 o Transfer graphical information between compatible versions of Digital PHIGS o Transfer graphical information between Digital PHIGS applications o Store accompanying nongraphical information Character Fonts Digital PHIGS includes a series of stroke-precision character fonts. These character fonts were digitized by Dr. Allen V. Hershey of the Naval Surface Weapons Laboratory, and supplied to Digital by the National Bureau of Standards. Language Bindings Digital PHIGS functions can be accessed by five sets of subroutine calls or "bindings," as they are referred to by the PHIGS standards. These bindings are: o An ISO C binding that conforms to the final PHIGS ANSI/ISO C bind- ing standard o A DEC C binding that conforms to a draft version of the PHIGS C bind- ing (provided for compatibility with previous versions of Digital PHIGS) o An ISO Fortran binding that conforms to the final PHIGS ANSI/ISO Fortran binding standard o An Ada binding that conforms to a draft of the PHIGS ANSI/ISO Ada binding standard o A PHIGS$ binding specified by Digital The ISO Fortran, ISO C, and Ada binding interfaces allow users to port Digital PHIGS applications written in ISO Fortran, ISO C, or Ada to other operating systems running conformant implementations of Digital PHIGS and these bindings. Note that calls to the ISO C and DEC C language bindings cannot be mixed with calls to the other language bindings within the same application. 9 Computer Graphics Metafile (CGM) Output Digital PHIGS provides support for storing information using the Com- puter Graphics Metafile (CGM), an approved ANSI standard format (ANSI X3.122-1986). Digital PHIGS supports CGM output for the following formats: o Clear Text Encoding - Graphical output data stored in this format is easily created, viewed, and modified using a common text edi- tor. This format is also suitable for transferring graphical output data through networks that support the transfer of text files only. o Character Encoding - Graphical output data is typically stored in this format to reduce the file size. This format is especially suited to transfers through networks that do not support binary transfers. o Binary Encoding - Graphical output data stored in this format is very compact and the fastest to read and write. This format is the least suitable for transmission over communication lines because all 8 bits in each byte are meaningful. CONFORMANCE TO STANDARDS Digital PHIGS is designed to conform to the following standards: o MIT X Window System Version 11 Release 5 (X11R5). o PEX Version 5.0 and 5.1. o The ISO C binding conforms to the final PHIGS ANSI/ISO C binding ISO/IEC 9593-4:1991. o The ISO Fortran binding conforms to the final PHIGS ANSI/ISO For- tran binding ISO/IEC 9593-1:1989. o The Ada binding conforms to a draft of the PHIGS ANSI/ISO Ada bind- ing ISO/IEC 9593-3:1990. 10 HARDWARE REQUIREMENTS The following systems are supported by Digital PHIGS: ___________________________________________________________________ Graphics Graphics Accelerators Processor Supported ___________________________________________________________________ DEC 3000 Model 300 ZLX-E1, ZLX-E2, ZLX-E3, ZLX-M1, ZLX-L1 Alpha Workstation ___________________________________________________________________ DEC 3000 Model 300L Alpha Workstation ___________________________________________________________________ DEC 3000 Model 300LX ZLX-E1, ZLX-E2, ZLX-E3, ZLX-M1, ZLX-L1 Alpha Workstation ___________________________________________________________________ DEC 3000 Model 300X ZLX-E1, ZLX-E2, ZLX-E3, ZLX-M1, ZLX-L1 Alpha Workstation ___________________________________________________________________ DEC 3000 Model 400 AlphaServer ___________________________________________________________________ DEC 3000 Model 400 ZLX-E1, ZLX-E2, ZLX-E3, ZLX-M1, ZLX-M2, Alpha Workstation ZLX-L1, ZLX-L2 ___________________________________________________________________ DEC 3000 Model 500 AlphaServer ___________________________________________________________________ DEC 3000 Model 500 ZLX-E1, ZLX-E2, ZLX-E3, ZLX-M1, ZLX-M2, Alpha Workstation ZLX-L1, ZLX-L2 ___________________________________________________________________ 11 ___________________________________________________________________ Graphics Graphics Accelerators Processor Supported ___________________________________________________________________ DEC 3000 Model 500X AlphaServer ___________________________________________________________________ DEC 3000 Model 600 AlphaServer ___________________________________________________________________ DEC 3000 Model 600 ZLX-E1, ZLX-E2, ZLX-E3, ZLX-M1, ZLX-M2, Alpha Workstation ZLX-L1, ZLX-L2 ___________________________________________________________________ DEC 3000 Model 700 ZLX-E1, ZLX-E2, ZLX-E3, ZLX-M1, ZLX-M2, Alpha Workstation ZLX-L1, ZLX-L2 ___________________________________________________________________ DEC 3000 Model 800 AlphaServer ___________________________________________________________________ DEC 3000 Model 800 ZLX-E1, ZLX-E2, ZLX-E3, ZLX-M1, ZLX-M2, Alpha Workstation ZLX-L1, ZLX-L2 ___________________________________________________________________ DEC 3000 Model 900 ZLX-E1, ZLX-E2, ZLX-E3, ZLX-M1, ZLX-M2, Alpha Workstation ZLX-L1, ZLX-L2 ___________________________________________________________________ DEC 4000 Model 610 Alpha System ___________________________________________________________________ DEC 4000 Model 700 AlphaServer ___________________________________________________________________ 12 ___________________________________________________________________ Graphics Graphics Accelerators Processor Supported ___________________________________________________________________ DEC 7000 Model 610 Alpha System ___________________________________________________________________ DEC 10000 Model 610 Alpha System ___________________________________________________________________ Digital AlphaStation ZLXp-E1, ZLXp-E2, ZLXp-E3, ZLXp-L1, 200 4/100 ZLXp-L2 ___________________________________________________________________ Digital AlphaStation ZLXp-E1, ZLXp-E2, ZLXp-E3, ZLXp-L1, 200 4/166 ZLXp-L2 ___________________________________________________________________ Digital AlphaStation ZLXp-E1, ZLXp-E2, ZLXp-E3, ZLXp-L1, 200 4/233 ZLXp-L2 ___________________________________________________________________ Digital AlphaStation ZLXp-E1, ZLXp-E2, ZLXp-E3, ZLXp-L1, 250 4/266 ZLXp-L2 ___________________________________________________________________ Digital AlphaStation ZLXp-L1, ZLXp-L2, PowerStorm 3D30, 255/233 PowerStorm 4D20 ___________________________________________________________________ Digital AlphaStation ZLXp-L1, ZLXp-L2, PowerStorm 3D30, 255/300 PowerStorm 4D20 ___________________________________________________________________ Digital AlphaStation ZLXp-E1, ZLXp-E2, ZLXp-E3, ZLXp-L1, 400 4/233 ZLXp-L2 ___________________________________________________________________ 13 ___________________________________________________________________ Graphics Graphics Accelerators Processor Supported ___________________________________________________________________ Digital AlphaStation ZLXp-L1, ZLXp-L2, PowerStorm 3D30, 500/266 PowerStorm 4D20 ___________________________________________________________________ Digital AlphaStation ZLXp-L1, ZLXp-L2, PowerStorm 3D30, 500/333 PowerStorm 4D20 ___________________________________________________________________ Digital AlphaStation ZLXp-L1, ZLXp-L2, PowerStorm 3D30, 500/400 PowerStorm 4D20 ___________________________________________________________________ Digital AlphaStation ZLXp-E1, ZLXp-E2, ZLXp-E3, ZLXp-L1, 600 5/266 ZLXp-L2, PowerStorm 3D30, PowerStorm 4D20 ___________________________________________________________________ Digital AlphaStation ZLXp-E1, ZLXp-E2, ZLXp-E3, ZLXp-L1, 600 5/300 ZLXp-L2, PowerStorm 3D30, PowerStorm 4D20 ___________________________________________________________________ Digital AlphaStation ZLXp-E1, ZLXp-E2, ZLXp-E3, ZLXp-L1, 600 5/333 ZLXp-L2, PowerStorm 3D30, PowerStorm 4D20 ___________________________________________________________________ Digital AlphaServer 2100 4/200 and 4/275 ___________________________________________________________________ Disk Space Requirements The disk space requirements for Digital PHIGS depend on the kit you install, as shown. Digital PHIGS Development Kit: 14 Disk space required for 60,000 blocks installation: With Ada binding option: 91,000 blocks Disk space required for 55,000 blocks use (permanent): With Ada binding option: 86,000 blocks Digital PHIGS Run-Time-Only Kit: Disk space required for 35,000 blocks installation: Disk space required for 30,000 blocks use (permanent): These counts refer to the disk space required on the system disk. The sizes are approximate; actual sizes may vary depending on the user's system environment, configuration, and software options. Memory Requirements for DECwindows Motif Support The minimum supported memory for Digital PHIGS running in a standalone DECwindows Motif environment, with both the client and server execut- ing on the same system, is 32 MB. The memory size suggested for most typical hardware configurations, however, is 64 MB or more, depend- ing on the system. The system configuration and performance requirements of DECwindows Motif applications can determine the memory needed on your system as follows: o Less memory may be required on the client system (where the soft- ware is installed and executed) if the server (component displaying the application) resides on another system. o More memory may be required on a system where improved performance is desired, or where several applications are running. 15 OPTIONAL HARDWARE If Digital Open3D for OpenVMS Alpha is installed, Digital PHIGS for OpenVMS Alpha supports the following input device with the DECwindows Motif device handler: Graphics Peripheral Set (32 Function Key Box and 8 Dial Box) Digital PHIGS supports a variety of interactive and hard copy devices. At least one of these devices is required to display graphics output. Compatible Sixel Devices: o Digital DEClaser 1100, 2100, 2150, 2200, 2250, 2300, 2400 Laser Printers o Digital LN03 with LN03S-UA upgrade kit o Digital LN03 PLUS Laser Printer o Digital LN03S-JA Laser Printer o Digital LA50 (restricted to a 2:1 aspect ratio) o Digital LA75 o Digital LA84 o Digital LA86 o Digital LA100 o Digital LA280 o Digital LA324 (Color Sixel Printer) o Digital LA380 Compatible Hewlett-Packard Graphics Language Devices: o Digital LVP16 Pen Plotter o HP7475 Hewlett-Packard Pen Plotter o HP7550 Hewlett-Packard Pen Plotter o HP7580 Hewlett-Packard Pen Plotter o HP7585 Hewlett-Packard Pen Plotter 16 o LASERGRAPHICS MPS-2000 Film Recorder Compatible Hewlett-Packard PCL Level 4 Devices: o Hewlett-Packard LaserJet II Compatible PostScript Devices: o Apple LaserWriter o Apple LaserWriter Plus o Digital DEClaser 1150, 2150, 2250 o Digital LN03R ScriptPrinter o Digital LPS20 Laser Printer o Digital LPS20-GJ Laser Printer o Digital LPS32 Laser Printer o Digital LPS40 Laser Printer o Digital LPS40-AJ Laser Printer o Digital LPS40-DJ Laser Printer SOFTWARE REQUIREMENTS The software requirements for Digital PHIGS Version 5.0 are: o OpenVMS Alpha Operating System Version 6.2 or higher o DECwindows Motif Version 1.2-3 for OpenVMS Alpha For the development of applications and programs that use Digital PHIGS on OpenVMS Alpha, one of the languages supported by Digital PHIGS is also required. 17 OpenVMS Alpha Tailoring The following OpenVMS Alpha classes are required for full Digital PHIGS functionality: o OpenVMS Alpha required save set o Network support o Programming support o OpenVMS Alpha workstation support-if you are using Digital PHIGS on a workstation OPTIONAL SOFTWARE The following optional software can be used with Digital PHIGS: o Digital Open3D Version 3.4 for OpenVMS Alpha This product is required to use PEX workstation types and the Graph- ics Peripheral Set. o DEC Ada Version 3.2 for OpenVMS Alpha o DEC C Version 4.1 for OpenVMS Alpha o DEC Fortran Version 6.2 for OpenVMS Alpha o DEC Pascal Version 5.3 for OpenVMS Alpha Note: Certain versions of these products depend on a specific version of the operating system. Please refer to the Software Product Descrip- tion (SPD) of the product in question to determine which version is necessary. GROWTH CONSIDERATIONS The minimum hardware and software requirements for future versions of this product may be different from the requirements for the current version. 18 DISTRIBUTION MEDIA This product is distributed on the OpenVMS Alpha Software Library Pack- age CD-ROM (order number QA-03XAA-H8). Online documentation only is distributed on the OpenVMS Alpha Online Documentation Library CD-ROM (order number QA-4KM8A-G8). Binaries only are distributed on the OpenVMS Alpha Software Products Library CD-ROM (order number QA-4KL8A-A8). These library packages contain the Digital PHIGS software binaries and online documentation in Bookreader and PostScript format. The Digital PHIGS documentation is also available in printed form, which can be ordered separately. ORDERING INFORMATION Development Option Personal Use License Digital PHIGS: QL-0KBAA-2B Unlimited Use License Digital PHIGS: QL-0A6A*-AA Software Library Package CD-ROM: QA-03XAA-H8 Software Documentation Digital PHIGS: QA-0A6AA-GZ Software Product Services Digital PHIGS: QT-0A6A*-** Run-Time-Only Option Concurrent Use License Digital PHIGS: QL-VK1AA-3B Unlimited Use License Digital PHIGS: QL-0A7A*-AA Software Library Package CD-ROM: QA-03XAA-H8 Software Product Services Digital PHIGS: QT-0A7A*-** * Denotes variant fields. For additional information on available li- censes, services, and media, refer to the appropriate price book. 19 SOFTWARE LICENSING Digital PHIGS is available in two forms: as a Development Kit and as a Run-Time-Only Kit. These kits are furnished only under a license. The Development Kit license enables you to develop and run your own graphics applications. The Run-Time-Only Kit license allows you to run applications that were developed on a system where the full Digital PHIGS product has been installed under a Concurrent Use License option (ex- plained in the following section). As a result, the Run-Time-Only Kit license is available at a substantially lower cost per system than the Development Kit license. License Management Facility Support Digital PHIGS supports the OpenVMS Alpha License Management Facility (LMF). This facility allocates license units for Digital PHIGS as fol- lows: o For the Development option-on a Personal Use and Unlimited Use basis o For the Run-Time-Only option-on a Concurrent Use and Unlimited Use basis Each Personal Use License allows one identified individual to use Digital PHIGS. Each Concurrent Use License allows only one individual at a time to use Digital PHIGS. Each Unlimited Use License allows any number of individuals to use Digital PHIGS at the same time. For further details on the License Management Facility, refer to the OpenVMS Alpha Operating System Software Product Description (SPD 41.87.xx) or the OpenVMS Alpha Operating System documentation. To obtain more information about Digital's licensing terms and policies, contact your local Digital office. 20 SOFTWARE PRODUCT SERVICES A variety of service options are available from Digital. For more in- formation, contact your local Digital office. SOFTWARE WARRANTY Warranty for this software product is provided by Digital with the pur- chase of a Digital PHIGS license, as defined in the Software Warranty Addendum of this SPD. The information in this document is valid at the time of release. Please contact your local Digital office for the most up-to-date information. [R] Apple and LaserWriter are registered trademarks of Apple Computer, Inc. [R] Hewlett-Packard, HP, HP-GL, and LaserJet are registered trademarks of Hewlett-Packard Company. [R] LASERGRAPHICS MPS-2000 is a registered trademark of Laser Graphics, Inc. [R] Motif and OSF/1 are registered trademarks of Open Software Foundation, Inc. [R] PostScript is registered trademark of Adobe Systems, Incor- porated. [TM] X Window System is a trademark of Massachusetts Institute of Technology. [TM] AlphaServer, AlphaStation, Bookreader, DDIF, DEC, DEC Ada, DEC Fortran, DEC C, DEC PHIGS, DEClaser, DECwindows, Digital, Digital GKS, Digital Open3D, Digital PHIGS, LN03, LN03 PLUS, LN03 ScriptPrinter, LVP16, OpenVMS, and the DIGITAL logo are trademarks of Digital Equipment Corpora- tion. ©1996 Digital Equipment Corporation. All Rights Reserved. 21