Inheritance diagram for score::gfx::TexgenNode:
score::gfx::NodeModel score::gfx::ProcessNode score::gfx::Node

Classes

struct  Rendered
 
struct  ubo
 

Public Types

using func_t = void(*)(unsigned char *rgb, int width, int height, int t)
 

Public Member Functions

score::gfx::NodeRenderercreateRenderer (RenderList &r) const noexcept override
 Create a renderer in a given context for this node.
 
- 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

struct score::gfx::TexgenNode::ubo ubo
 
QImage image
 
std::atomic< func_t > function {}
 
- 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 {}
 

Static Public Attributes

static constexpr const auto vertex
 
static constexpr const auto filter
 

Additional Inherited Members

- Protected Attributes inherited from score::gfx::NodeModel
std::unique_ptr< char[]> m_materialData
 

Member Data Documentation

◆ filter

constexpr const auto score::gfx::TexgenNode::filter
staticconstexpr
Initial value:
= R"_(#version 450
layout(location = 0) in vec2 v_texcoord;
layout(location = 0) out vec4 fragColor;
layout(std140, binding = 0) uniform renderer_t {
mat4 clipSpaceCorrMatrix;
vec2 renderSize;
} renderer;
layout(binding=3) uniform sampler2D y_tex;
void main ()
{
fragColor = texture(y_tex, v_texcoord);
}
)_"

◆ vertex

constexpr const auto score::gfx::TexgenNode::vertex
staticconstexpr
Initial value:
= R"_(#version 450
layout(location = 0) in vec2 position;
layout(location = 1) in vec2 texcoord;
layout(binding = 3) uniform sampler2D y_tex;
layout(location = 0) out vec2 v_texcoord;
layout(std140, binding = 0) uniform renderer_t {
mat4 clipSpaceCorrMatrix;
vec2 renderSize;
} renderer;
out gl_PerVertex { vec4 gl_Position; };
void main()
{
v_texcoord = texcoord;
gl_Position = renderer.clipSpaceCorrMatrix * vec4(position.xy, 0.0, 1.);
}
)_"

The documentation for this struct was generated from the following file: