![]() |
Blue Brain BioExplorer
|
#include <Core.h>
Classes | |
struct | Impl |
Public Member Functions | |
PLATFORM_API | Core (int argc, const char **argv) |
PLATFORM_API | ~Core () |
Simple execution API <br> | |
PLATFORM_API void | commitAndRender (const RenderInput &renderInput, RenderOutput &renderOutput) |
PLATFORM_API bool | commitAndRender () |
Low-level execution API | |
PLATFORM_API bool | commit () |
PLATFORM_API void | render () |
PLATFORM_API void | postRender () |
PLATFORM_API Engine & | getEngine () |
PLATFORM_API ParametersManager & | getParametersManager () |
PLATFORM_API KeyboardHandler & | getKeyboardHandler () |
PLATFORM_API AbstractManipulator & | getCameraManipulator () |
Core is a minimalistic library that allows optimized ray-tracing rendering of meshes and parametric geometry. Core provides an abstraction of the underlying rendering engines, making it possible to use the best rendering engine depending on the case.
Core uses plugins for extended function. There are a few built-in plugins and additional plugins can be dynamically loaded.
The underlying rendering engine (OSPRay, Optix, FireRays, etc) is specified in the rendering parameters and is invoked by the render method for generating the frames.
Underlying rendering engines support CPU, GPU and heterogeneous architectures
This object exposes the basic API for Core
core::Core::Core | ( | int | argc, |
const char ** | argv | ||
) |
Core instance initialization.
Initialization involves command line parsing, engine creation, plugin loading and initialization, data loading, scene creation and setup of keyboard mouse interactions.
In a setup using event loops, the event loop must be set up correctly before calling this constructor to ensure that plugins can install their event callbacks successfully.
Command line parameters provide options about the application itself, the geometry and the renderer. Core creates the scene using built-in and plug-in provided loaders.
|
default |
bool core::Core::commit | ( | ) |
Handle events, update animation, call preRender() on plugins and commit changes on the engine, scene, camera, renderer, etc. to prepare rendering of a new frame.
bool core::Core::commitAndRender | ( | ) |
Renders color and depth buffers of the current scene, according to default parameters. This is typically used by an application that does not provide any on-screen visualization. In such cases, input and output parameters are provided by network events. For instance, a camera event defines the origin, target and up vector of the camera, and an ImageJPEG event triggers the rendering and gathers the results in a form of a base64 encoded JPEG image.
Combines commit(), render() and postRender() together in a synchronized fashion.
void core::Core::commitAndRender | ( | const RenderInput & | renderInput, |
RenderOutput & | renderOutput | ||
) |
Renders color and depth buffers of the current scene, according to specified parameters.
Combines commit() and render() together in a synchronized fashion.
renderInput | Rendering parameters such as the position of the camera and according model and projection matrices |
renderOutput | Color and depth buffers |
AbstractManipulator & core::Core::getCameraManipulator | ( | ) |
Engine & core::Core::getEngine | ( | ) |
KeyboardHandler & core::Core::getKeyboardHandler | ( | ) |
ParametersManager & core::Core::getParametersManager | ( | ) |
void core::Core::postRender | ( | ) |
void core::Core::render | ( | ) |