Binds the rendering pipeline to ossia processes. More...
Detailed Description
Binds the rendering pipeline to ossia processes.
This namespace contains the machinery that ties the rendering features provided by score::gfx to the ossia execution engine and data model.
It works as follows:
Every time processes execute, visual processes will mark themselves as executed, by notifying Gfx::GfxExecutionAction.
This is necessary because the visual graph is dynamic: processes can come on and off at any point during execution.
- After all the ossia execution graph nodes have executed, the new edges between nodes are sent to the graphics processing thread, to Gfx::GfxContext.
- This thread regularly updates the graph with the incoming information, either before VSync if VSync is enabled or with a timer otherwise:
- Edges are updated with the currently running nodes in the score
- Parameters, audio data... sent to the ossia processes in the execution graph are converted into uniforms corresponding to the shaders used, and uploaded to the GPU.
Typedefs | |
using | av_input_video_type = decltype(av_input_video_device_next(nullptr)) |
using | port_index = ossia::gfx::port_index |
using | Edge = std::pair< port_index, port_index > |
using | exec_controls = std::vector< std::shared_ptr< exec_control > > |
Functions | |
void | enumerateCameraDevices (std::function< void(CameraSettings, QString)> func) |
std::shared_ptr< CameraDeviceEnumerator > | make_camera_enumerator () |
const CommandGroupKey & | CommandFactoryName () |
template<typename Vector > | |
int64_t | index_of (Vector &&v, const typename std::remove_reference_t< Vector >::value_type &t) |
ossia::value | fromImageSet (const tcb::span< score::gfx::Image > &images) |
void | releaseImages (std::vector< score::gfx::Image > &imgs) |
std::vector< score::gfx::Image > | getImages (const ossia::value &val) |
ShaderSource | programFromFragmentShaderPath (const QString &fsFilename, QByteArray fsData) |
CGLContextObj | nativeContext (QRhi &rhi) |
MODEL_METADATA_IMPL_CPP (TextureInlet) | |
MODEL_METADATA_IMPL_CPP (TextureOutlet) | |