Lightspeed views and GXY views are two types of LuciadLightspeed views. Each has its own specific set of capabilities for visualizing geospatial data models. You choose one or the other based on the visualization requirements of your geospatial application.

What is a view for?

A LuciadLightspeed view allows you to visualize the data of one or more LuciadLightspeed models in a graphical form. LuciadLightspeed offers two types of views:

GXY views

are views that display graphics in 2D. The abbreviation GXY refers to the graphical 2D screen coordinates. A GXY view is represented by ILcdGXYView in the LuciadLightspeed API.

Lightspeed views

are views that can display in 2D as well as in 3D, and use the OpenGL API to perform their rendering. A Lightspeed view is represented by ILspView.

Both view types are subtypes of the interface ILcdView.

A view has one or more layers associated with it. To properly visualize model data in a LuciadLightspeed view, each model is placed in a LuciadLightspeed layer.

Your choice of view type determines the layer type you need to use. To create layers in a GXY view, you need to use GXY layers. To create layers in a Lightspeed view, you need to use Lightspeed layers. However, adapters are available that enable you to combine GXY and Lightspeed technology.

For more information about the differences between GXY and Lightspeed views, refer to Deciding between a GXY view and a Lightspeed view.

LuciadLightspeed provides implementations based on the Java Abstract Windows Toolkit (AWT) and Swing toolkit, as well as on the JavaFX toolkit. It also provides implementations to perform off-screen rendering. For more information, see the API reference.

At the API level, the ILcdGXYView and ILspView are both subtypes of the interface ILcdView. ILspView resides in the package com.luciad.view.lightspeed, while ILcdGXYView resides in the package com.luciad.view.gxy. These are sub-packages of package com.luciad.view.

viewgxylsppackage
Figure 1. com.luciad.view package structure

Deciding between a GXY view and a Lightspeed view

As discussed in What is a view for?, LuciadLightspeed comes with two types of view implementation: a GXY view and a Lightspeed view. You can choose the most appropriate view implementation based on the nature of your application and the environment it will run in.

Your choice will be influenced by the following considerations:

  • The hardware specifications of the target computer platforms on which your application is deployed

  • The level of OpenGL support on the target computer platforms

  • Specific requirements of your application

Benefits of Lightspeed views and Benefits of GXY views outline the characteristics of each view type, so that you can use the appropriate implementation.

LuciadLightspeed offers adapters that allow you to integrate layers from a GXY view implementation into a Lightspeed view implementation, and the other way around. For instance, you can use a GXY view to build a core application that runs on all required platforms. For platforms that offer OpenGL support, you can use components of the Lightspeed view to tune specific functionality to make optimal use of graphics hardware acceleration. In the same way, you can gradually move an existing GXY view application to LuciadLightspeed by reusing your GXY code, and updating the performance-critical parts first.

Benefits of Lightspeed views

The Lightspeed view implementation uses OpenGL to visualize data in 2D and in 3D. OpenGL is an industry standard for visualization, defined by the Khronos Group, which is available on many different platforms including Linux, Mac OS and Microsoft Windows. Typically, the vendor of the graphics hardware, the Graphics Processor Unit (GPU), in your system provides an OpenGL driver to enable OpenGL-accelerated applications. The Lightspeed view implementation requires such an OpenGL driver to be present on the system. For exact system requirements, refer to the LuciadLightspeed technical notes.

A GPU is basically a massively parallel processor that can process many points, triangles, and pixels simultaneously. Careful use of the GPU allows many operations involving the visualization of geospatial data to be performed extremely fast. This is exactly what the Lightspeed view does to provide you with a high-performance 2D and 3D view.

You should rely on a Lightspeed view by default when your system complies with the OpenGL and system requirements.

Examples of situations where a Lightspeed view is especially beneficial to the application’s performance and functionality, are:

High-resolution displays.

Because of parallel processing on the GPU, the performance of Lightspeed views scales well to high-resolution displays.

Anti-aliasing.

The smoothing of jagged edges of curves and diagonal lines increases display quality. A Lightspeed view can achieve this with little to no performance loss.

Fluent animations.

Lightspeed views are designed for high frame rates. A view that can be updated 60 times per second, allows for fluent animation effects, such as smooth fly-to animations or animated style changes.

Density painting.

Specific use of the GPU in a Lightspeed view allows for interactive analysis capabilities such as density plots of air traffic.

Hypsometry.

Analysis of terrain including slope calculation, ridge and valley detection, and shading by sunlight is instantaneous through judicious use of the GPU in the Terrain Analysis Engine component.

2D and 3D visualization.

Lightspeed views have the capability to visualize in 2D and 3D within the same view. This means that you can easily switch from 2D to 3D in an application without additional development. Given the increasing importance of 3D visualization, this can save you significant development time.

Benefits of GXY views

The GXY view implementation uses Java AWT, in particular the Graphics2D components, to visualize data in 2D. Graphics2D is available on each of the many platforms that run Java 2 Standard Edition (J2SE). A GXY view should be used for applications that run on platforms with insufficient OpenGL support. In that sense, a GXY view may be a good choice if you are not entirely certain about the capabilities of the platforms that your application will be running on. Typical examples of such a situation are applications running on very old hardware, or web services running on server hardware without any graphics acceleration.

In addition, the GXY view implementation is highly optimized, and offers features such as asynchronous painting of domain objects to warrant a responsive view. As adapter components to integrate GXY into Lightspeed are available, there is no risk in choosing either a GXY view or a Lightspeed view as a view implementation. Both implementations will be fully supported in future releases of LuciadLightspeed.

For information about the file formats supported in GXY views and Lightspeed views, see Supported data types.

Other benefits of hardware acceleration

OpenCL analysis.

The Open Computing language (OpenCL) allows performing general computations on the GPU, which is used in LuciadLightspeed for line-of-sight computations in the Terrain Analysis Engine component, for instance. OpenCL computations are performed at the model level. As such, OpenCL can be used with Lightspeed views as well as with GXY views.