R3vis Corporation
RM and OpenRM Scene Graph Sales, Service & Downloads Gallery News & Events Meta
RM Scene Graph Overview
OpenRM Scene Graph Overview
Technical Publications and Reference Material OpenRM and Chromium OpenRM and CAVElib

RM Scene Graph Logo

RM Scene Graph Product Overview

OpenGL Logo RM Scene Graph is a scene graph API that uses OpenGL to leverage hardware acceleration on a wide range of platforms. In a scene graph framework, applications incrementally build up a collection of objects for rendering, along with rendering parameters like the position of the viewer, lights and so forth. This collection of objects and rendering parameters is the scene. The collection of objects are arranged into a tree-like heirarchical structure where rendering parameters are most often present at interior nodes of this scene graph, while the geometry data is most often present in the leaf nodes of the tree. The scene graph model is an intuitive and easy-to-use model for describing scenes, and the scene graph API implements the interfaces needed to construct, maintain and render application data.

RM Scene Graph simplifies the process of developing applications on OpenGL-based graphics platforms while deriving the benefits provided by OpenGL. OpenGL itself is a powerful, but detail-oriented programming interface. With RM Scene Graph, applications development can be as simple as "just add data, and you have a finished application." OpenGL is recognized as the industry standard graphics API for high performance, platform independent graphics programming, and is supported on a wide range of platforms, from Unix/Linux to Win32 and Apple computers.

Unlike other commercially available scene graph products, RM is a general purpose scene graph API that provides an exteremely high degree of flexibility to applications developers while delivering performance and portability across platforms. RM is currently available for Unix/Linux/Win32.

General purpose means that RM is more than merely a 3D triangle engine. Support is provided for image based data, such as sprites, bitmaps and depth pixels. Both 2D and 3D data may be present in the scene graph, thereby alleviating the need for lots of custom draw code to implement features other scene graph products don't bother to implement. Semi-procedural primitives include spheres, cones, cylinders, 2D and 3D boxes, glyph-based markers and text. RM is completely extensible by applications, and supports application-supplied raw OpenGL drawing code as well as a rich array of callbacks that can be used to implement advanced features, such as view dependent operations. A flexible multipass rendering framework can be used to implement a variety of stereoscopic imaging models. RM is used in commercial as well as research environments.

The hallmark of RM Scene Graph is flexibility. A partial list of features includes:

Since it is an API, not a finished application, RM is intended to be used by developers. As a developer using RM, you have complete flexibility and control over system resources. RM uses OpenGL to achieve device-independent hardware acceleration, thereby ensuring that your visualization tools will perform on all platforms, from a multi-headed immersive environment to a PC-based desktop workstation. RM provides a high performance visualization and rendering developer's solution that spans UNIX and Windows. Develop your code with confidence that the high-end graphics will work the same on a laptop or a fully immersive, multi-headed environment.

The RM Scene Graph family consists of the following components:

The RM rendering engine is window system independent. You can use your existing GUI code and application's framework, and give RM a window handle to use for geometry, or you can use the RMaux library to rapidly prototype lightweight applications. Those familiar with the OpenGL libraries GLX, GLAUX and GLUT will appreciate RMaux (RM and RMaux does not use either of GLAUX or GLUT).

Have more questions? We suggest you have a look at the OpenRM FAQ for more information. Feel free to contact us at tech at r3vis dot com with your questions or comments.