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.