X11 |
 |
IVL draws images from the bottom to the top of a window. This is known as the
rasterization order. (The OpenGL standard does not
dictate a specific rasterization order, but does dictate that the image data
coordinate system has it's origin at the lower left corner of an image. This
coordinate system lends itself naturally to a bottom to top rasterization.)
This differs from the frame buffer, which refreshes from
the top to the bottom of the screen. Because of this, you may see a tearing
effect as your image is being drawn. To hide this artifact of the
rasterization order, you can use hardware double-buffering on those devices
that support it (see glXSwapBuffers).
When you do this, you may still see some minor tearing due to buffer swapping.
This is a less severe artifact than the one described above. You can eliminate
this secondary tearing by forcing the X Server to swap hardware buffers during
the vertical retrace interval. To do this, add the following to your X*screens
file:
Screen /dev/crt
ScreenOptions
SwapBuffersOnVBlank
|
Note: since this affects hardware buffers only, it will have no effect on
graphics systems that do not support hardware double-buffering. Also, synchronizing with vertical retrace
may cause a slight decrease in performance.
With Single Logical Screen (SLS), the X11 server manages multiple physical
display devices as if they were a single frame buffer. Thus the use of the
term "logical".
The initial release of IVL does not support the Single Logical Screen
environment. This includes the case where IVL renders to a drawable that
resides on a single physical display (frame buffer). To reiterate, SLS is
not supported.
However, IVL is supported on multi-display configurations that are not
configured as a Single Logical Screen.
Motif |
 |
By default, Motif creates child widgets using the same visual class as their
parent widget. This can cause your application windows to inherit an
unexpected visual type. In order to support the rich set of visual classes
available on HP workstations used in Motif applications, an alternative widget
creation procedure is required.
A sample widget is provided for you to use. The directory
/opt/graphics/IVL/demo/DrawingA contains the source files, header files,
and a makefile. Incorporate the object file drawinga.o created by this set
of files into your application.
Instead of making a procedure call to XmCreateDrawingArea to create a
drawing area widget, applications should call HPCreateVisualDrawingArea
using the same parameter list. It accepts an argument to specify a visual
class different from a parent widget.
Applications can subsequently create OpenGL contexts using the same visual
class used to create the drawing area widget. Call glXMakeCurrent to bind
the context to the realized drawable.
See the example source file for details about Motif drawing area creation.