SLI Zone
NVIDIA.com Developer Home

Last Updated: 07 / 30 / 2005

NVSG SDK Details

NVSG_Logo.jpgIntroduction

The NVIDIA® Scene Graph (NVSG) Software Development Kit is an object-oriented programming library for creating scene graph-based applications. NVSG 2.1 provides a comprehensive set of C++ classes that developers can easily combine and extend to create fast and reliable graphics applications. These classes constitute a hierarchy of objects that can be used to represent threedimensional geometries—their size, position, and orientation, and their visual appearance.

What Is a Scene Graph?

Basically, a scene graph is a reusable, hierarchical data structure that describes the objects in a 3D scene—their size, position, orientation, visible properties, and relationships with one another. Scene graphs can be used to display virtual scenes for a variety of purposes, including game engines, computer-aided design (CAD), scientific and commercial visualization, training, simulation, and modeling. NVSG is not a complete application engine—it is a component of such products. NVSG focuses on representing the 3D scene and enabling its efficient rendering. Other components of the engine, such as physics models, are not included. Since different customers have different requirements, this gives you maximum flexibility in customizing your engine to meet the specific needs of your application.

Why Use NVSG?

Performance. NVSG maximizes the performance of your NVIDIA graphics hardware by reducing the amount of data and by grouping related data sets. NVSG’s hierarchical structure allows the culling of objects and their related data not needed for rendering the scene. And it allows data to be sorted so that related objects are rendered at the same time.

Productivity. NVSG manages the graphics hardware for your application, reducing the amount of OpenGL programming required.

Portability. NVSG handles the lower-level tasks of rendering and transferring data, so porting your application to another platform can be as simple as recompiling the code.

Scalability. NVSG is designed to work seamlessly with complex hardware configurations, such as graphics clusters or NVIDIA SLI™ technology (multi-GPU architecture). This lets you focus on developing your application, while NVSG takes care of the hardware interface.

Shading. NVSG takes advantage of modern GPU shading by fully integrating Cg/CgFX, abstracting the low-level work required to organize and deliver the shader data to the GPU.

Technology Features
  • Superb Image Quality
  • C++ scene graph API
  • High performance
  • Optimized memory management
  • Scalable with SLI
  • Cluster-aware
  • Frame-based animation supported:
    • Camera animation
    • Skin/bone animation
    • Object animation
  • Full shader support for the latest
    GPUs via CgFX 1.4
  • Vertex array, display list, and VBO
    support
  • Both frustum and occlusion culling
    supported
  • Tree optimizer
  • Orthographic camera and
    Perspective camera support
  • Multiple camera manipulators:
    • Trackball manipulator
    • Flight manipulator
    • Walk manipulator
    • Animation manipulator
  • Multipass antialiasing (MPAA):
    seamless integration of Software
    FSAA with Hardware FSAA
  • Shadow support (shadow maps)
  • Level of detail (LOD) handling
  • Stereo support
  • Picking/selecting (ray intersection)
  • Tree searching
  • Multipass rendering:
    • Shader-level (multipass effects)
    • Geometry-level
    • Scene-level
  • Multithreading safe (object and tree
    locking with single writer/multiple
    readers)
  • Asymmetric and overlapping viewing
    frusti for clusters
  • Multiple file format support:
    • NBF (import/export)
    • NVSG (import/export)
    • VRML/WRL (import only)
    • NVB (import only)
    • ...others via plug-in
  • Multiple texture format support:
    • BMP
    • DDS
    • JPG
    • GIF
    • HDR-HDRI Vertical Cross
    • OpenEXR
    • PNG
    • RGB
    • TGA
    • TIF
    • ...others via plug-in
  • Multiple Plaform Support
    • Windows 2000/XP 32-bit
    • Windows XP x86_64 64-bit
    • Linux 32-bit
    • Linux x86_64 64-bit
    • Fourth-generation graphics boards (such as NVIDIA Quadro®)

Download the latest NVSG SDK




nvidiadeveloper Twitterfeed
Event Calendar
Popular References
Free Books Online