SLI Zone
NVIDIA.com Developer Home

Last Updated: 08 / 04 / 2009

NVIDIA® SceniX™ Details

The SceniX scene management engine is an object-oriented programming library for creating custom scene graph based applications. It provides a comprehensive set of C++ classes for developers to easily combine, extend, and create their own fast and reliable graphics applications.

As a scene graph, SceniX provides a reusable, hierarchical data structure that describes a 3D scene’s objects in space, time, appearance, and in relationship with one another. SceniX has been used to power many highly interactive environments for a variety of purposes, including: automotive styling, gas and oil data exploration, scientific and commercial visualization, simulation, modeling, and interactive training. SceniX is not a complete application, but rather is an important underpinning of a high performance application that then adds its own primary capabilities. SceniX focuses on representing the 3D scene as interactively as possible and enabling high quality, efficient interactive rendering. Other components of the scene graph, such as physics, are not included but can be integrated.

SceniX Advantages

Each application has different requirements, with SceniX giving developers maximum flexibility in customizing its engine to meet the specific needs of their application, market and end users. Of particular development value:

Performance

SceniX maximizes the performance of graphics hardware by reducing the amount of data and grouping related data sets. Its hierarchical structure allows the culling of objects and their related data not needed for rendering the scene, and sorts data so that related objects are rendered at the same time.

Productivity

SceniX manages the interface to graphics hardware, significantly reducing the amount of OpenGL programming required to build interactive applications.

Portability

SceniX handles the lower-level tasks of rendering and transferring data, so porting your application to another platform can be as simple as a recompile.

Scalability

SceniX scales performance across multiple GPUs in a system or across a sophisticated graphics cluster, removing a significant development burden for data and/or performance intense applications.

Shading

SceniX 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.

SceniX Capabilities

The NVIDIA SceniX engine is a C++ scene graph API that is DLL based, thread safe, and leverages the latest innovations in OpenGL and Cg. It supports 32-bit and 64-bit versions of Windows and Linux, and allows 32 & 64-bit development on the same system. Highly extendable, the scene graph includes the following capabilities within its core:

Performance Focus

  • Effective Tree Optimization with extensive scene methods and controls
  • Optimized memory and render-list management
  • Frustum and Occlusion Culling, Level of Detail (LOD) handling
  • Multiple Render Paths, including: Vertex Buffer Objects (VBO), Display Lists, Vertex Arrays
  • Write-Mapping for saving large files more quickly
  • Distributed GPU Rendering

Object Support

  • Geometry: Indexed Triangles, Triangle Fans, TriStrips, Quad Meshes, Quad Strips, Lines, LineStrips, Points
  • Cameras: Perspective, Orthographic, Stereo
  • Lights: Point, Spot, Direct
  • Parent/Child Hierarchies, Group, Billboard, FlipbookAnimation, LOD, Transform, AnimatedTransform, Switch
  • Custom/arbitrary application/user data for objects

Animation

  • Interpolation-Based and Frame-based animation
  • Separate Translation, Scale, Rotation animation keys
  • Quaternion rotations about definable transform points
  • Vertex Animation and Mesh Skinning (CPU or GPU)
  • Flipbook Animation for cycling object visibility
  • Playback control (start/stop, forward/backward, swinging/looping)

Interaction

  • Choice of camera manipulators: Trackball, Fly Thru, Walk Thru, and Animation
  • Selection queues by highlighted edges or bounding box
  • Picking/selecting via ray intersection, and Tree Searching
  • Interactive Zoom, Orbit, Pan, Dolly, and Zoom Selected or Extents
  • Affine transforms, mirroring, smooth rotations
  • Triggers and Behaviors, dynamic transforms and switch nodes.

Interactive Rendering

  • Full shader support for the latest GPU capabilities via CgFX 2.2
  • Flexible Display Modes: Points, Wireframe, Shaded, Textured, Effected, Lit/Unlit
  • Multi-Pass Anti-Aliasing (MPAA ) for seamless integration of Full Screen Anti-Aliasing (GPU or CPU) via: Accumulation Buffers, Read Pixels, P-Buffers, or Framebuffer Objects (FBO)
  • Transparency Options: Stippled, Blended, Order Independent (P-Buffer or FBO)
  • Multi-Pass Rendering at the Shader Level (multi-pass effects), Geometry-level, and Scene-level
  • Interactive Shadow Maps w/ Intensity
  • Scene Effects: Depth of Field, Fog, Interactive Clipping planes
  • Textures: 1D, 2D, 3D, CubeMap, Rectangle, 1DArray, 2DArray
  • Multi-Texture
  • Backdrop images
  • Volume Rendering (requires a Quadro FX GPU)
  • Cluster support via asymmetric and overlapping viewing frustums
  • Distributed GPU Rendering via NVIDIA CompleX on Quadro Plex systems for accommodating massive scene complexity.

File Formats

  • Native scene formats NBF (binary), NVSG (ASCII)
  • Scene import for COLLADA, COLLADA FX, VRML2.0/WRL, OpenFlight, OBJ, PLY, and others via custom plug-ins. COLLADA support includes shader definitions, animation and skinning.
  • Image format support includes: BMP, DDS, JPG, GIF, HDR-HDRI, Vertical Cross Cubemaps, OpenEXR, PNG, RGB, TGA, TIF, and others via custom plug-ins.
  • Textures support most OpenGL formats, including fixed, float, compressed, and some special packed data types.
  • Shaders in HLSL, CgFX (e.g., from FXComposer), and MetaSL (from mental mill)
  • Real-time, High Definition Video via SDI interface

GPU Capabilities

  • CG 2.2 and OpenGL 2.1 or higher shaders, including support for geometry shaders and texture arrays
  • Scalable with SLI
  • 30-bit Color
  • Stereo
  • Distributed GPU Rendering via NVIDIA CompleX on Quadro Plex systems for large scale visualization

SceniX Viewer Sample

  • MFC-based GUI for both 32-bit and 64-bit Windows
  • Single viewport navigation and a basic interface exposing nearly all SceniX capabilities, with the entire file interchange capabilities of SceniX
  • Material Editor (for defined shaders) with Drag and Drop material assignment

System Requirements:

  • OpenGL Capabilities
    • Minimum: OpenGL 1.4 compliant graphics board
    • Recommended: OpenGL 2.1 or higher
    • Ideal NVIDIA Quadro FX graphics board
  • Microsoft Visual C++ 2003, 2005, 2008, and .NET Framework (on Windows)
  • Multiple Platform Support:
    • Windows 2000/XP/Vista 32-bit/64-bit
    • Linux 32-bit/64-bit
  • Optional:
    • Cluster rendering; stereo output supported
    • NVIDIA Quadro® HD SDI video i/o
    • 30-bit color display
| SceniX Home | Download SceniX 5 | Download a Legacy Version | SceniX Discussion Forum |





nvidiadeveloper Twitterfeed
Popular References
Free Books Online