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.