2#include <Threedim/TinyObj.hpp>
3#include <halp/controls.hpp>
4#include <halp/meta.hpp>
6#include <ossia/dataflow/geometry_port.hpp>
8#include <Gfx/Graph/GpuResourceRegistry.hpp>
16class QRhiResourceUpdateBatch;
41 halp_meta(name,
"Scene Group")
42 halp_meta(category,
"Visuals/3D/Scene")
43 halp_meta(c_name,
"scene_group")
44 halp_meta(authors,
"ossia team")
47 "https://ossia.io/score-docs/processes/scene-group.html")
48 halp_meta(uuid,
"8a3b5e2d-7c4f-4b9e-9d1a-6f8e2c5d3a7b")
52 struct { halp_meta(name,
"Scene 0"); ossia::scene_spec scene; uint8_t dirty{0}; } scene0;
53 struct { halp_meta(name,
"Scene 1"); ossia::scene_spec scene; uint8_t dirty{0}; } scene1;
54 struct { halp_meta(name,
"Scene 2"); ossia::scene_spec scene; uint8_t dirty{0}; } scene2;
55 struct { halp_meta(name,
"Scene 3"); ossia::scene_spec scene; uint8_t dirty{0}; } scene3;
59 struct : halp::lineedit<
"Name",
"">
60 {
void update(
SceneGroup& n) { n.rebuild(); } } name;
62 {
void update(
SceneGroup& n) { n.rebuild(); } } position;
64 {
void update(
SceneGroup& n) { n.rebuild(); } } rotation;
66 {
void update(
SceneGroup& n) { n.rebuild(); } } scale;
71 struct { halp_meta(name,
"Scene Out"); ossia::scene_spec scene; uint8_t dirty{0}; } scene_out;
83 std::shared_ptr<const ossia::scene_state> m_cached_out;
84 uint8_t m_pending_dirty{0xFF};
85 const ossia::scene_state* m_cached_in[4]{};
86 int64_t m_cached_ver[4]{-1, -1, -1, -1};
87 int64_t m_version_counter{0};
90 ossia::gpu_slot_ref m_xform_ref{};
Definition SceneGroup.hpp:39
List of nodes to be rendered to an output.
Definition RenderList.hpp:30
Graphics rendering pipeline for ossia score.
Definition Filter/PreviewWidget.hpp:11
Definition TinyObj.hpp:98
Definition TinyObj.hpp:103
Definition TinyObj.hpp:107
Definition SceneGroup.hpp:51
Definition SceneGroup.hpp:70
Connection between two score::gfx::Port.
Definition score-plugin-gfx/Gfx/Graph/Utils.hpp:103
Definition GpuResourceRegistry.hpp:84