Beyond the basic methods common to all applications, there
are methods that are specific to a given Draw Manager. The
application classes are extended for each of the specific Draw
Managers. The graphics API-specific application classes derive
from vrj::App and extend this interface further. They add extra
“hooks” that support the abilities of the specific
API.
The OpenGL application base class adds several methods to
the application interface that allow rendering of OpenGL
graphics. The extensions to the base
vrj::App class are shown in Figure 2.4, “vrj::GlApp interface
extensions to vrj::App”. In the following, we describe
the method vrj::GlApp::draw(), the
most important element of the interface. More details about the
vrj::GlApp class are provided in the section called “OpenGL Applications”, found in Chapter 4, Application Authoring Basics.
The OpenGL Performer application base class adds
interface functions that deal with the OpenGL Performer scene
graph. Some of the interface extensions are shown in Figure 2.5, “vrj::PfApp interface
extensions to vrj::App”. The following is a description
of only two methods in the
vrj::PfApp interface. More detailed discussion on this
class is provided in the section called “OpenGL Performer Applications”, found
in Chapter 4, Application Authoring Basics.
The initScene() member
function is called when the application should create the
scene graph it will use.