Part III. Advanced Topics

Table of Contents

9. System Interaction
10. Multi-threading
Techniques
Tutorial: Perform Computations Asynchronously to Rendering with intraFrame()
Class Declaration and Data Members
The preFrame() Member Function
The draw() Member Function
Exercise
Helper Classes
vpr::Thread
vpr::BaseThreadFunctor
Using the vpr::Semaphore Interface
Using the vpr::Mutex Interface
Using Data Buffering
Triple Buffering
Optimizing Triple Buffering
Using Triple Buffering in an Application
Tutorial: Perform Computations Using Triple Buffering
11. Run-Time Reconfiguration
How Run-Time Reconfiguration Works
Reasons to Use Run-Time Reconfiguration
Using Run-Time Reconfiguration in an Application
Create Application-Specific Configuration Definitions
Implement the Dynamic Reconfiguration Interface
Procesing Configuration Elements
Loading and Saving Configurations
Tutorial: Using Application-Specific Configurations
Class Declaration
Application Configuration
The configCanHandle() Member Function
The configAdd() Member Function
The draw() Member Function
Exercise
12. Extending VR Juggler
Device Drivers
Custom Simulators
Simulator Components
13. Advanced Topics
Customizing Render Thread Processor Affinity
Making a Custom NSApplication Delegate on Mac OS X
Data Members
Designated Initializer
-setLoadConfigs:
-applicationShouldTerminateAfterLastWindowClosed:
-applicationDidFinishLaunching:
-application:openFile:
-application:openFiles:
Defining Custom Cocoa/VR Juggler Bridging on Mac OS X