| United States-English |
|
|
|
![]() |
HP VISUALIZE-IVL Documentation: HP 9000 Series 700 Computers > Chapter 3 Chapter 3: For Application DevelopersTypes of IVL API Routines |
|
There are three basic types of routines in IVL:
The IVL API reflects an underlying state machine with attributes that can be modified to make it behave in different ways. State attributes in IVL are orthogonal to one another, meaning that setting one state attribute doesn't affect the setting or behavior of any other state attribute. For example, if you set certain parameters for the convolution operation, they have no effect on the parameters for the image transformation operation, nor do they modify the behavior of the image transformation operation. In order to get IVL to behave in a particular way, you may have to set many state attributes. IVL provides facilities for querying any of the state values that you can set, so you are not required to keep track of the current attribute values. See the glGet and glIsEnabled reference pages for a list of the state values that can be queried. There are default values for every state attribute in IVL. The default value usually reflects the most commonly used value for that attribute. For instance, there are a number of modes that can be enabled or disabled. Since the typical case for each mode is that it is disabled, most of these state attributes have a default value of "disabled". Routines that perform tasks above and beyond the setting or querying of a state attribute are called operations. An example of a routine in this category is glDrawPixels, which causes a rectangular block of pixel values to be transferred from host memory to the frame buffer. The behavior of this transfer depends on the current settings of all of the state values that affect the pixel processing pipeline. The net result of this routine is (usually) that an image is displayed in a viewable window. Operations (such as those that occur as a result of a call to glDrawPixels) have a well-defined set of semantics. By understanding the semantics of an operation, you can choose settings for attributes necessary to achieve the behavior you want. The pixel transfer operations in IVL occur in a sequence that is best explained using a pipeline model. The order of operations is very specific, as are the data formats for input to and output from each pipeline stage. See "The IVL Machine" section of the "Overview of the Image Visualization Library (IVL)" chapter for greater detail on the pixel transfer pipeline. There are a number of routines in IVL that deal with coordination between the native window system and IVL rendering operations. In the HP workstation environment, the native window system is X. Therefore IVL contains routines for:
It is important to realize that IVL can be implemented as a separate process from the X server. If it is implemented this way, it is possible to have IVL rendering and X window system rendering occurring simultaneously in the same window. In order to achieve the correct results when the order of rendering is important, applications must use the synchronization primitives that are provided in X and in IVL. For more information on these primitives, see the "Synchronization" section in the "Interaction with the X Window System" chapter. |
||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||