Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
HP's Implementation of OpenGL: HP 9000 Workstations > Chapter 2 Overview of OpenGL

The OpenGL Product

» 

Technical documentation

Complete book in PDF
» Feedback
Content starts here

 » Table of Contents

This section provides information about HP's implementation of the OpenGL product as well as information about the standard OpenGL product.

HP's Implementation of OpenGL

Topics covered in this section are:

  • HP's implementation of the OpenGL libraries

  • Supported graphics devices

  • Supported visuals

  • Visual support for other graphics devices

  • Buffer sharing between multiple processes

HP's Implementation of the OpenGL Libraries

HP's implementation of OpenGL provides the following libraries:

  • libGL.sl: OpenGL shared library

  • libGLU.sl: OpenGL utilities library

The OpenGL product does not support archived libraries.

Supported Graphics Devices

This section covers the graphics devices and visuals that are supported by the OpenGL product. Here is a list to the graphics devices that are supported:

  • HP Visualize-FX2

  • HP Visualize-FX4

  • HP Visualize-FX6

Supported Visuals

In this section, each visual table will have a graphics device associated with it. For information on visual support for graphics devices not in the above list, read the subsequent section "Visual Support for Other Graphics Devices."

Table 2-1 Visual Table for HP Visualize-FX2

X Visual Information

OpenGL GLX Information

Class

Depth

Color Map Size

Bfr Size

Ovrly=1 or Img
=0

RGBA

=1 or Idx

=0

Dbl Bfr

# Aux Bfrs

Color Buffer

Z

St en cil

Accum. Buffer

R

G

B

A

R

G

B

A

PseudoColor

8

255

8

1

0

0

0

0

0

0

0

0

0

0

0

0

0

PseudoColor

8

256

8

0

0

0

0

0

0

0

0

24

4

0

0

0

0

PseudoColor

8

256

8

0

0

1

0

0

0

0

0

24

4

0

0

0

0

PseudoColor

12[1]

4096

12

0

0

0

0

0

0

0

0

24

4

0

0

0

0

PseudoColor

12[1]

4096

12

0

0

1

0

0

0

0

0

24

4

0

0

0

0

TrueColor

12

16

12

0

1

1

0

4

4

4

0

24

4

16

16

16

0

TrueColor

24

256

24

0

1

0

0

8

8

8

0

24

4

16

16

16

0

  1. The 12-bit PseudoColor visuals are not present by default. They can be enabled by invoking the "X Server Configuration" component under SAM, or by manually adding the enable 12-bit PseudoColor visual option to your /etc/X11/X*Screens file as documented in the Graphics Administration Guide.

 

Table 2-2 Visual Table for HP Visualize-FX4

X Visual Information

OpenGL GLX Information

Class

Dpth

Color Map Size

Bfr Size

Ovrly=1 or Img=0

RGBA=1 or Idx=0

Dbl Bfr

# Aux Bfrs

Color Buffer

Z

St en cil

Accum. Buffer

R

G

B

A

R

G

B

A

PseudoColor

8

255

8

1

0

0

0

0

0

0

0

0

0

0

0

0

0

PseudoColor

8

256

8

0

0

0

0

0

0

0

0

24

4

0

0

0

0

PseudoColor

8

256

8

0

0

1

0

0

0

0

0

24

4

0

0

0

0

PseudoColor

12[1]

4096

12

0

0

0

0

0

0

0

0

24

4

0

0

0

0

PseudoColor

12[1]

4096

12

0

0

1

0

0

0

0

0

24

4

0

0

0

0

TrueColor

24

256

24

0

1

0

0

8

8

8

0

24

4

16

16

16

0

TrueColor

24

256

24

0

1

1

0

8

8

8

0

24

4

16

16

16

0

  1. The 12-bit PseudoColor visuals are not present by default. They can be enabled by invoking the "X Server Configuration" component under SAM, or by manually adding the enable 12-bit PseudoColor visual option to your /etc/X11/X*Screens file as documented in the Graphics Administration Guide.

 

Table 2-3 Visual Table for HP Visualize-FX6

X Visual Information

OpenGL GLX Information

Class

Dpth

Color Map Size

Bfr Size

Ovrly=1 or Img=0

RGBA=1 or Idx=0

Dbl Bfr

# Aux Bfrs

Color Buffer

Z

St en cil

Accum. Buffer

R

G

B

A

R

G

B

A

PseudoColor

8

255

8

1

0

0

0

0

0

0

0

0

0

0

0

0

0

PseudoColor

8

256

8

0

0

0

0

0

0

0

0

24

4

0

0

0

0

PseudoColor

8

256

8

0

0

1

0

0

0

0

0

24

4

0

0

0

0

PseudoColor

12[1]

4096

12

0

0

0

0

0

0

0

0

24

4

0

0

0

0

PseudoColor

12[1]

4096

12

0

0

1

0

0

0

0

0

24

4

0

0

0

0

TrueColor

24

256

24

0

1

0

0

8

8

8

8

24

4

16

16

16

16

TrueColor

24

256

24

0

1

1

0

8

8

8

8

24

4

16

16

16

16

TrueColor

24

256

24

0

1

0

0

8

8

8

8

24

4

16

16

16

0

TrueColor

24

256

24

0

1

1

0

8

8

8

8

24

4

16

16

16

0

  1. The 12-bit PseudoColor visuals are not present by default. They can be enabled by invoking the "X Server Configuration" component under SAM, or by manually adding the enable 12-bit PseudoColor visual option to your /etc/X11/X*Screens file as documented in the Graphics Administration Guide.

 

Stereo Visual Support for Visualize-FX4 and Visualize-FX6

When a monitor is configured in a stereo capable mode, HP Visualize-FX4 and HP Visualize-FX6 will have the following additional stereo visuals available. For more information on OpenGL stereo, read the section "Running HP's Implementation of the OpenGL Stereo Application" found in Chapter 3 of this document.

Table 2-4 Stereo Visual Support for HP Visualize-FX 4 and HP Visualize-FX 6

X Visual Information

OpenGL GLX Information

Class

Depth

Color Map Size

Bfr Size

Ovrly=1 or Img=0

RGBA=1 or Idx=0

Dbl Bfr

St er eo

# Aux Bfrs

Color Buffer

Z

St en cil

Accum. Buffer

R

G

B

A

R

G

B

A

PseudoColor

8

256

8

0

0

0

1

0

0

0

0

0

24

4

0

0

0

0

PseudoColor

8

256

8

0

0

1

1

0

0

0

0

0

24

4

0

0

0

0

PseudoColor

12

4096

12

0

0

0

1

0

0

0

0

0

24

4

0

0

0

0

PseudoColor

12

4096

12

0

0

1

1

0

0

0

0

0

24

7

0

0

0

0

TrueColor

12

16

12

0

1

1

1

0

4

4

4

0

24

4

16

16

16

0

TrueColor

12

16

12

0

1

0

1

0

4

4

4

[1]

24

4

16

16

16

[1]

  1. Alpha planes are only available on the HP Visualize-FX 6.

 

Visual Support for Other Graphics Devices

The OpenGL product can be used with the Visualize-FX family of devices as well as the Visualize-EG device using the Virtual Memory Driver (VMD) in Virtual GLX mode (VGL). In addition, VMD allows you to use many X11 drawables (local or remote) as "virtual devices" for three-dimensional graphics with OpenGL. This includes rendering to X terminals and other non-GLX extended X servers.

Table 2-5 Visuals Table for VMD

X Visual Information

OpenGL GLX Information

Class

Depth

Color Map Size

Bfr Size

Ovrly=1 or Img=0

RGBA=1 or Idx=0

Dbl Bfr

# Aux Bfrs

Color Buffer

Z3

St enc il3

Accum. Buffer

R

G

B

A

R

G

B

A

PseudoColor

4

16

4

0

0

[1]

0

0

0

0

0

24

4

0

0

0

0

PseudoColor

8

256

8

0

0

[1]

0

0

0

0

0

24

4

0

0

0

0

PseudoColor

8

255

8

1

0

[1]

0

0

0

0

0

0

0

0

0

0

0

TrueColor

8

256

8

0

1

[1]

0

3

3

2

0

24

4

16

16

16

0

PseudoColor

12

4096

12

0

0

[1]

0

0

0

0

0

24

4

0

0

0

0

TrueColor

12

16

12

0

1

[1]

0

4

4

4

[2]

24

4

16

16

16

16

DirectColor

12

16

12

0

1

[1]

0

4

4

4

[2]

24

4

16

16

16

16

TrueColor

24

256

24

0

1

[1]

0

8

8

8

[2]

24

4

16

16

16

16

DirectColor

24

256

24

0

1

[1]

0

8

8

8

[2]

24

4

16

16

16

16

  1. Double buffering is set to True (1) if the X visual supports the X Double Buffering Extension (DBE).

  2. Alpha will only work correctly on 12- and 24-bit TrueColor and DirectColor visuals when the X server does not use the high order nybble/byte in the X visual. Also, note that when alpha is present, Buffer Size will be 16 for the 12-bit visuals and 32 for the 24-bit visuals.

  3. Depth and stencil buffers are only allocated for image plane visuals.

 

Buffer Sharing between Multiple Processes

In the OpenGL implementation, all drawable buffers that are allocated in virtual memory are not sharable among multiple processes. As an example, on a HP Visualize-FX4 configuration, the accumulation buffer for a drawable resides in virtual memory (VM) and therefore, each OpenGL process rendering to the same drawable through a direct rendering context, will have its own separate copy of the accumulation buffer. For more information on hardware and software buffer configurations for OpenGL devices, see Tables 1-1 through 1-5 in this chapter.

True buffer sharing between multiple processes can be accomplished by utilizing indirect rendering contexts. In this case, rendering on behalf of all GLX clients is performed by the X server OpenGL daemon process, and there is only one set of virtual memory buffers per drawable.

SIGCHLD and the GRM Daemon

The Graphics Resource Manager daemon (grmd) is started when the X11 server is started. In normal operation, an OpenGL application will not start the daemon, and as a result grmd will not be affected by the SIGCHLD manipulation that occurs as part of that start-up. However, if grmd dies for some reason, the graphics libraries will restart grmd whenever they need shared memory. An example of where this can occur is during calls to glXCreateContext or glXMakeCurrent.

The Standard OpenGL Product

This section covers the following topics:

  • The OpenGL Utilities Library (GLU)

  • Input and Output Routines

  • The OpenGL Extensions for the X Window System (GLX)

The OpenGL Utilities Library (GLU)

The OpenGL Utilities Library (GLU) provides a useful set of drawing routines that perform such tasks as:

  • Generating texture coordinates

  • Transforming coordinates

  • Tessellating polygons

  • Rendering surfaces

  • Providing descriptions of curves and surfaces (NURBS)

  • Handling errors

For a detailed description of these routines, read the OpenGL Reference Manual.

Input and Output Routines

OpenGL was designed to be independent of operating systems and window systems, therefore, it does not have commands that perform such tasks as reading events from a keyboard or mouse, or opening windows. To obtain these capabilities, you will need to use X Windows routines.

The OpenGL Extensions for the X Window System (GLX)

The OpenGL Extensions to the X Window System (GLX) provide routines for:

  • Choosing a visual

  • Managing the OpenGL rendering context

  • Off-screen rendering

  • Double-buffering

  • Using X fonts

For a detailed description of these routines, read the OpenGL Reference Manual.

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 1996 Hewlett-Packard Development Company, L.P.