If you are developing an application based on a Lightspeed view, the application will make use of OpenGL. The painters in Lightspeed view applications allow you to work directly with the OpenGL API by offering access to an OpenGL context.

What is OpenGL?

OpenGL is a cross-platform standard API for hardware-accelerated 3D rendering. The software runtime library ships with all Windows, Mac OS, Linux and Unix systems.

Two important OpenGL terms are:

OpenGL profile

An OpenGL profile corresponds to a version of the OpenGL specification.

OpenGL extensions

OpenGL extensions are extensions to the OpenGL specifications, typically proposed by graphics hardware vendors, to support new features of their hardware. These extensions may be included in the next version of the specification to become a standard feature.

OpenGL binding used by LuciadLightspeed

An OpenGL binding allows Java applications to talk to the OpenGL runtime installed on the underlying operating system. As part of this connection process, the bindings provide a link between the native windowing system and Java Swing/AWT toolkits. LuciadLightspeed uses LWJGL as its OpenGL binding.

Support for OpenGL bindings is achieved through the use of an abstraction layer, defined in the package com.luciad.view.opengl.binding.

To make an abstraction of how OpenGL support is achieved through the binding, and to remain independent of the used binding, LuciadLightspeed lets users access OpenGL functionality through the ILcdGLDrawable interface. An ILcdGLDrawable offers an ILcdGL instance, which exposes the OpenGL API.

For more information about the usage of the OpenGL API in the Lightspeed view, see the reference documentation for ILspPainter and ILcdGLDrawable.

Additional information on OpenGL

There are several books on OpenGL available, but some of the most revered ones are:

  • OpenGL Programming Guide: The Official Guide to Learning OpenGL, Seventh Edition, Dave Shreiner et al. ISBN 978-0321552624 (also known as the red book). This book offers a tutorial, with each article focusing on an important part of the OpenGL functionality.

  • OpenGL Reference Manual, Fourth Edition, Dave Shreiner (Editor), et al. ISBN 032117383X (also known as the blue book). This book is an API reference manual.

  • OpenGL Shading Language. Second Edition, Randi J. Rost. ISBN 978-0321334893 (also known as the orange book). This book provides tutorial as well as reference information on the OpenGL Shading Language.

There are also several OpenGL websites that may be of interest. The main online sources of information are:

  • http://www.opengl.org/ is the official OpenGL website. It provides access to the latest versions of the OpenGL specification, as well as active development forums and numerous links to other OpenGL development resources.

  • http://www.opengl.org/registry/ is a registry containing the specifications for OpenGL and OpenGL extensions.