score::gfx::ISFNode Class Reference

Data model for Interactive Shader Format filters. More...

Inheritance diagram for score::gfx::ISFNode:
score::gfx::ProcessNode score::gfx::Node

Detailed Description

Data model for Interactive Shader Format filters.

See https://isf.video

Public Member Functions

 ISFNode (const isf::descriptor &desc, const QString &vert, const QString &frag)
 
QSize computeTextureSize (const isf::pass &pass, QSize origSize)
 
score::gfx::NodeRenderercreateRenderer (RenderList &r) const noexcept override
 Create a renderer in a given context for this node.
 
const isf::descriptor & descriptor () const noexcept
 
- Public Member Functions inherited from score::gfx::ProcessNode
void materialChange () noexcept
 Used to notify a material change from the model to the renderers.
 
bool hasMaterialChanged (int64_t &renderer) const noexcept
 
void geometryChange () noexcept
 Used to notify a geometry change from the model to the renderers.
 
bool hasGeometryChanged (int64_t &renderer) const noexcept
 
void process (Message &&msg) override
 Process a message from the execution engine.
 
void process (Timings tk)
 
void process (int32_t port, const ossia::value &v)
 
void process (int32_t port, const ossia::audio_vector &v)
 
void process (int32_t port, const ossia::geometry_spec &v)
 
void process (int32_t port, const ossia::transform3d &v)
 
void process (int32_t port, ossia::monostate) const noexcept
 
void process (int32_t port, const FunctionMessage &)
 
 Node ()
 
 Node (const Node &)=delete
 
 Node (Node &&)=delete
 
- Public Member Functions inherited from score::gfx::Node
 Node (const Node &)=delete
 
 Node (Node &&)=delete
 
Nodeoperator= (const Node &)=delete
 
Nodeoperator= (Node &&)=delete
 
virtual void renderedNodesChanged ()
 Whenever render nodes are added / removed.
 
virtual void update ()
 

Public Attributes

friend SinglePassISFNode
 
friend RenderedISFNode
 
friend isf_input_port_vis
 
isf::descriptor m_descriptor
 
std::list< AudioTexturem_audio_textures
 
std::unique_ptr< char[]> m_material_data
 
QString m_vertexS
 
QString m_fragmentS
 
int m_materialSize {}
 
- Public Attributes inherited from score::gfx::ProcessNode
std::atomic_int64_t materialChanged {0}
 
std::atomic_int64_t geometryChanged {-1}
 
ProcessUBO standardUBO {}
 Every node matching with a score process will have such an UBO. More...
 
ossia::geometry_spec geometry
 The geometry to use. More...
 
- Public Attributes inherited from score::gfx::Node
std::vector< Port * > input
 Input ports of that node.
 
ossia::small_pod_vector< Port *, 1 > output
 Output ports of that node. More...
 
ossia::flat_map< RenderList *, score::gfx::NodeRenderer * > renderedNodes
 Map associating each RenderList to a Renderer for this model.
 
int32_t id = -1
 
bool addedToGraph {}
 

The documentation for this class was generated from the following files: