With a range of standards, there was a need within ISO to ensure that the various standards could inter-work.

The computer graphics reference model defined the interfaces to the user, the display hardware and the higher-level application that would make use of the computer graphics standard.

Computer graphics can be defined as a sequences of transformation steps between the application and the user's environment.

The model defined five stages:

  • Construction: the application constructs a model representing its application data
  • Virtual: the device independent description of the graphics scene
  • Viewing: selection of a specific view of the overall scene (more relevant in 3D that 2D but applicable to both)
  • Logical: binding the device-dependent properties of the scene
  • Realization: generating the graphical output for a specific user and system

Properties that are fundamental to the application should be bound at the virtual level while properties that may need to be varied to support the specific user or environment are bound at the logical level.

For example, on the web, an XML application might define domain specific information at the construction level, transform it into HTML at the virtual level using the appropriate markup elements and use class and id attributes associated with specific elements to allow CSS to provide binding of device or user dependent properties that are not an intrinsic part of the virtual level. Modern devices tend to work in a window management environment that handles the realization level.

The application keeps control of the information that should not be changed by CSS styling by:

  • Using appropriate markup to define lists, tables, blockquotes etc.
  • Keeping control of the textual content
  • Providing appropriate class and id attributes to allow CSS to modify rendering properties to suit the user or device at the logical level
  • Binding of essential application properties at the virtual level by use of the style attribute

If the font-size or font-style is intrinsic to the application, they can be bound at the virtual level.

If changing the font-size or font-style does not change the meaning/content of the information to be displayed, hooks can be provided to allow the user or device to make appropriate changes.