Gfx Namespace Reference

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.

Classes

class  CameraEnumerator
 
class  CustomCameraEnumerator
 
class  CameraSettingsWidget
 
class  CameraProtocolFactory
 
class  CameraDevice
 
struct  V4L2CameraEnumerator
 
struct  V4L2CameraDeviceEnumerator
 
struct  CameraDeviceEnumerator
 
struct  CameraSettings
 
class  ShaderPreviewWidget
 
class  ChangeShader
 
class  ChangeGeometryShader
 
class  DocumentPlugin
 
class  ApplicationPlugin
 
class  GfxContext
 
class  GfxInputDevice
 
class  GfxOutputDevice
 
class  GfxExecutionAction
 
struct  exec_control
 
class  gfx_exec_node
 
struct  con_unvalidated
 
struct  clear_msg_visitor
 
class  simple_texture_input_protocol
 
class  simple_texture_input_parameter
 
class  simple_texture_input_node
 
class  simple_texture_input_device
 
class  video_texture_input_protocol
 
class  video_texture_input_parameter
 
class  video_texture_input_node
 
class  video_texture_input_device
 
class  gfx_parameter_base
 
class  gfx_protocol_base
 
class  gfx_node_base
 
struct  ImageCache
 
class  InvertYRenderer
 
struct  AudioFrameEncoder
 
struct  S16IAudioFrameEncoder
 
struct  S24IAudioFrameEncoder
 
struct  S32IAudioFrameEncoder
 
struct  FltIAudioFrameEncoder
 
struct  DblIAudioFrameEncoder
 
struct  FltPAudioFrameEncoder
 
struct  LibavEncoder
 
struct  LibavEncoderNode
 
class  record_audio_parameter
 
class  libav_output_protocol
 
class  libav_output_device
 
class  LibavOutputDevice
 
class  LibavOutputSettingsWidget
 
class  LibavOutputProtocolFactory
 
struct  LibavOutputSettings
 
struct  StreamOptions
 
struct  OutputStream
 
class  Sh4ltOutputDevice
 
class  Sh4ltOutputSettingsWidget
 
struct  Sh4ltOutputNode
 
class  sh4lt_output_device
 
class  Sh4ltOutputProtocolFactory
 
struct  ShaderSource
 
struct  ProcessedProgram
 
struct  ProgramCache
 
struct  SharedInputSettings
 
class  SharedInputProtocolFactory
 
class  SharedInputSettingsWidget
 
struct  SharedOutputSettings
 
class  SharedOutputProtocolFactory
 
class  SharedOutputSettingsWidget
 
class  ShmdataOutputDevice
 
class  ShmdataOutputSettingsWidget
 
struct  ShmdataOutputNode
 
class  shmdata_output_device
 
class  ShmdataOutputProtocolFactory
 
struct  SpoutNode
 
class  SpoutProtocolFactory
 
class  SpoutDevice
 
class  SpoutSettingsWidget
 
class  SyphonProtocolFactory
 
class  SyphonDevice
 
class  SyphonSettingsWidget
 
class  GraphPreviewWidget
 
class  GeometryInlet
 
class  GeometryOutlet
 
struct  GeometryInletFactory
 
struct  GeometryOutletFactory
 
class  window_device
 
struct  WindowOutputSettings
 
class  WindowProtocolFactory
 
class  WindowDevice
 
class  WindowSettingsWidget
 
struct  ACodecInfo
 
struct  VCodecInfo
 
struct  DemuxerInfo
 
struct  MuxerInfo
 
struct  LibavIntrospection
 

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< CameraDeviceEnumeratormake_camera_enumerator ()
 
const CommandGroupKeyCommandFactoryName ()
 
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::ImagegetImages (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)