NuGraf is provided as a extensive library of 'C' routines which can
be integrated into existing application programs or be used to create new stand-alone
applications. Figure 1 illustrates the two primary usage configurations for NuGraf.
Figure 1: The Two Primary Usage
Configurations for the NuGraf Toolkit
In Configuration A the library has been
tightly integrated with the host program by directly linking it in with the mainline code,
creating one large stand-alone program. The host program makes direct calls to the library
through the NuGraf 'C' interface and has the rendered output sent to its desired
destination via a custom output driver. This configuration allows for a complex
interactive modeling and rendering application to be developed by building upon the core
routines provided by the library. Also, this configuration is most beneficial to the user
since the host application's geometrical database does not have to be exported to an
external rendering module to have renderings created.
Another possible configuration for the library is illustrated in Configuration B.
In this case the host program and the library are two separate programs, thus no major
changes have to be made to the host program. The host sends its instructions to the
library via an intermediate communication link, such as a disk file or through a network.
The front-end to the stand-alone library application receives these commands and forwards
appropriate commands to the library via NuGraf 'C' interface calls. The disadvantages to
this configuration is that a complex communication layer must be built on top of the
NuGraf 'C' interface. The rendered output from the library can be sent to a disk file,
sent back to the host application program or displayed on a local or remote display
device.