Next: 5.2 Programming Interfaces Up: 5 Comparing OpenGL to Previous: 5 Comparing OpenGL to

5.1 Subsets and Baselines

One thing that makes PEX difficult to compare to OpenGL is that PEX allows much of its functionality to be optionally implemented. PEX classifies its functionality into one or more of three subsets: the immediate mode subset, the structure subset, or the PHIGS workstation subset. (PHIGS is a 3D graphics standard and stands for Programmer's Hierarchical Interactive Graphics System.) The PEX specification explicitly allows implementations to support one, two, or all three subsets. The result is that an application cannot depend on any given PEX server to supply the subset functionality the application might depend on. This problem is commonly referred to as ``subsetting.''

OpenGL mandates that that all its rendering functionality be supported. Even advanced features such as depth buffering, fog, lighting, anti-aliasing, and texturing must be supported in all implementations.

But still all OpenGL implementations are not totally identical. Rendering functionality is not a complete picture of OpenGL's capability. Rendering performance will depend on the implementation. And frame buffer capabilities will vary between implementations. Different depths of ancillary buffers will be supported; stereo and double buffering hardware may or may not actually be present; a frame buffer may or may not support the alpha component. But despite the possibility for variation, OpenGL for the X Window System does mandate that two visuals (one RGBA, the other color index) will be present with frame buffer capabilities sufficient for most common 3D applications. Stencil and depth buffers must be supported for the two required visuals. And an accumulation buffer must be supported for the RGBA visual. These required visuals guarantee all OpenGL implementations have a standard baseline of both rendering and frame buffer functionality which applications can rely on being present.


mjk@asd.sgi.com
Wed Oct 19 18:06:42 PDT 1994