SubrScene is an open source application and framework designed to aid in the visualization component of first person immersive simulations. Originally SubrScene only existed as an image generation application. But the need for cross corrilated embedded displays in applications created the need for the rendering component to be broken out into its own framework. This framework embodies the entire core set of image generation features. The SubrScene Image Generation System (IGS) application uses the rendering framework and builds the distributed rendering application. This visual cluster is used extensively for multi channel visual systems for immersive applications.
SubrScene IGS is really three run time applications. The nemod.exe “Nemo D” application is the network execution program for the IGS. This application is used to setup environment variables, lock remove systems for use, and spawn the rendering clients. The ssClient.exe are the remote rendering interface applications that are launched by the nemod.exe program. These applications use the framework as the base application adding in the communication support to sycronize the data streams across the rendering cluster. The final application is the ssControl.exe “SubrScene Control” application. This application uses network communication with nemod.exe to lock remote clients, configure channels, and execute render cluster for operation. The entire IGS is managed from the ssControl.exe application. This application like the framework supports plug-in capabilites. Common interfaces to the IGS such as CIGI and DIS are done through plug-in's.
The SubrScene Framework is a C++ framework designed to provide a soluation for a user building an application with the need for embedded visualization. The framework is designed to abstract the layer of graphics from the user application. Use of the framework requires just linking to framework library and subclassing the framework class. User application can provide an existing context and placement information for the framework to render to. If desired the user application can also use the framework to spawn a graphics context and window. The framework basic functionality support includes player placement, articulation, special effects, data base intersection, shader management, dynamic viewing channel control, environment control, and masking functions.