
Last Updated:
07
/
30
/
2010
NVIDIA® SceniX™ Details
The SceniX scene management engine is an object-oriented programming library for creating cutting-edge, real-time 3D applications with a state of the art scene graph. SceniX 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 an important underpinning of high performance solutions like RTT DeltaGen® and Autodesk Showcase® that adds the application's 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 or modeling, are not included but can be integrated.
SceniX Advantages
SceniX
gives developers maximum flexibility in leveraging its
engine to meet the specific needs of their application, market
and end users. Of particular development value are:
| 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 and compute power by fully integrating both Cg/CgFX and OptiX ray tracing, abstracting the low-level work required to organize and deliver the data to the GPU and ensuring optimal performance as GPU architectures continue to advance. |
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, Cg, OptiX, and CompleX. SceniX 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 using CompleX for maintaining fluid interactivity when scene sizes exceed 4GB
Object Support
- Geometry: Indexed Triangles, Triangle Fans, TriStrips,
Quad Meshes, Quad Strips, Bezier- Quad- and Tri-Patch primitives for tessellation,
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 3.0
- Interactive ray tracing via an alternative traverser based upon NVIDIA OptiX
- 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, 3DS, 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 CgFX (e.g., from FXComposer), MetaSL (from mental mill), and RTFx (ray tracing).
- Real-time, High Definition Video via SDI interface
GPU Capabilities
- CG 3.0 and OpenGL 2.1 or higher shaders, including
support for geometry and tessellation shaders, texture arrays, and scalable with SLI
- Interactive ray tracing, with the ability to switch between OpenGL and maintain separate shaders per renderer
- 30-bit Color
- Quad Buffered Stereo
(windowed and full screen, passive or active)
- Large scale visualization via NVIDIA CompleX using distributed GPU Rendering
SceniX Viewer Sample
- MFC-based GUI example 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
- wxWidgets based GUI example for interactive ray tracing on Windows and Linux
System Requirements:
- OpenGL Capabilities
- Minimum: OpenGL 1.4 compliant graphics board
- Recommended: OpenGL 2.1 or higher
- Ideal: NVIDIA Quadro FX or Fermi-based graphics board
- Interactive Ray Tracing Capabilities
- NVIDIA GPUs of G80 class or later
- CUDA 3.0 compliance
- GT200 or Fermi architecture required for using multiple GPUs
- Microsoft Visual C++ 2005 and 2008
- Multiple Platform Support:
- Windows XP, Windows Vista, and Windows 7 in 32-bit/64-bit
- Linux 32-bit/64-bit
- Optional:
- NVIDIA Quadro HD SDI video i/o
- NVIDIA Quadro (FX or Fermi series) for 30-bit color output and quad buffered stereo
- NVIDIA Quadro Plex systems for large scale visualization with CompleX (up to 32 GB with 8 GPUs)
- NVIDIA GPUs for interactive ray tracing
- Machine clusters, with custom management software
| SceniX Home | Download SceniX 6 | Download a Legacy Version | SceniX Discussion Forum | SceniX Overview | Acceleration Engine Overview |
Subscribe to our Developer RSS feed or follow nvidiadeveloper on Twitter for the latest news about SceniX or other application acceleration engines,
|