Skip to main content

Welcome to Cumulia ORE

Cumulia ORE is a WebGL 2.0-based 3D model visualization engine designed specifically for web-based industrial design, simulation, and manufacturing software. It provides developers with a comprehensive set of rendering interfaces, along with a series of extended plugins tailored to meet the visualization and interaction needs of industrial software. With Cumulia ORE, developers can easily build 3D rendering modules for their software without needing to master low-level WebGL rendering APIs or delve deeply into computer graphics.


Applications of Cumulia ORE

Visualization for CAD and CAM Applications

  • Visualization of B-rep and mesh geometries
  • Various rendering modes, selection, and highlighting
  • Fast interaction with large-scale geometric elements in the rendered view
  • Adding annotations, text, icons, and sprite points
  • Animation display for machining processes

Computer-Aided Engineering (CAE)

  • Rendering contour plots from CAE data
  • Multiple visualization methods: streamline animations, displacement animations, vector arrows, and point clouds
  • Integration with Cumulia Insight's data filtering interface to create a complete web-based CAE post-processing toolkit

Other Use Cases

  • Quickly adjust geometry positions and dimensions using locating tools
  • Realistic rendering effects with physically-based materials, shading, and environment mapping
  • Multi-view management
  • Platform compatibility: Supports WebGL-enabled browsers on Windows, Linux, and macOS

The above examples showcase typical industrial software use cases, covering most industrial application needs. Even when facing non-standard visualization scenarios, the flexible and extensible interfaces of Cumulia ORE ensure adaptability and efficiency.


Key Features of Cumulia ORE

Rendering Performance

Cumulia ORE optimizes the rendering pipeline to achieve ultra-fast browser-based rendering speeds and realistic image quality. Even in complex 3D scenes, it ensures smooth operation. For instance, in a model with over 8,000 parts and approximately 30 million facets, the engine can achieve rendering efficiency of 30 FPS in the browser, providing real-time rendering performance.

Programming Features

  • Declarative API Design: Simplifies the process of building rendering scenes with a declarative approach, resulting in cleaner and more maintainable code.
  • Memory Management: Automatically handles memory allocation and release, effectively preventing memory leaks and ensuring safe and reliable code.

Rich Interfaces and Tools

To further enhance its 3D rendering capabilities, ORE integrates a variety of plugins, including geometry libraries, material libraries, locators, and selectors, catering to the needs of engineering design, analysis, and manufacturing scenarios.


Overview of ORE Modules

As a 3D rendering engine, ORE's core functionality includes organizing 3D scene trees, optimizing rendering queues, and constructing an efficient rendering pipeline. Its plugin-based architecture allows for functionality expansion. Below is an introduction to its key modules:

Material

Provides commonly used materials such as Phong, Gouraud, Headlight, PBR, cartoon, and sprite materials. These materials are easy to use, requiring only configuration parameters from the user. The system ensures minimal shader generation during material creation, reducing GPU resource consumption and accelerating rendering. The shaders for lighting models in this library are also optimized for performance.

Postprocessing

The postprocessing module offers 2D image processing capabilities, including Gaussian blur, edge detection, dilation, and other effects. These functions allow users to enhance and manipulate images for desired visual effects.

Color

Includes color-related components for generating contour plots, converting color formats, and randomly generating colors with different hues. It also provides various color templates for simulation contour plots.

Geometry

The geometry module is essential for interacting with complex industrial models. It offers a rich set of geometric primitives, from basic shapes (e.g., boxes, spheres, cylinders) to more complex multi-faceted and irregular geometries.

Selector

Enables users to select specific elements in the rendering environment. It supports various selection options, including selecting entities, faces, edges, and points in the scene. Users can also select individual points or vertices by specifying coordinates or vectors, or perform fragment selection to target specific pixels or fragments.

In addition to single-element selection, the selector module supports penetration selection for entities, faces, edges, and points, allowing users to select elements located behind or intersecting with other objects in the scene.

Locator

A set of tools for precise positioning, offering various types of locators to determine the position, orientation, and geometry of objects in the scene. These include linear locators, arc locators, position locators, orientation locators, geometric locators, rectangular locators, cylindrical locators, and spherical locators.

Manipulator

Supports input recognition and interaction control for various devices. It translates user operations from devices such as a mouse, touchscreen, or 3D mouse into camera view changes, enabling intuitive control of the graphical interface.

Camera

Provides extensive camera transformation capabilities, allowing users to easily control the view using a mouse or 3D mouse. Whether rotating around objects, zooming in on details, panning the scene, fitting the view to objects, or resetting to the initial position, the camera module meets all visualization needs.

Annotator

This module allows users to enhance the visual representation of objects or scenes by adding annotations. Users can add high-quality text and icons to provide additional information or mark objects.

CAE Visualization

Encapsulates various data filtering functions from VTK, such as Slice, Clip, IsoVolume, and Geometry. It offers rich visualization methods, including streamline animations, particle animations, and 3D arrows.

Debugger

The debugger module is a tool for monitoring and analyzing GPU resource consumption. It enables users to track and measure GPU usage during rendering, providing valuable insights into rendering pipeline performance and efficiency.