summaryrefslogtreecommitdiff
path: root/src/gpu/sequence_v2.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpu/sequence_v2.h')
-rw-r--r--src/gpu/sequence_v2.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/gpu/sequence_v2.h b/src/gpu/sequence_v2.h
index 1cc5f47..2197a82 100644
--- a/src/gpu/sequence_v2.h
+++ b/src/gpu/sequence_v2.h
@@ -66,6 +66,9 @@ class NodeRegistry {
// Check if node exists
bool has_node(const std::string& name) const;
+ // Register external view (for source/sink managed externally)
+ void set_external_view(const std::string& name, WGPUTextureView view);
+
private:
WGPUDevice device_;
int default_width_;
@@ -96,6 +99,19 @@ class SequenceV2 {
void resize(int width, int height);
+ // Initialize effect nodes (call at end of subclass constructor)
+ void init_effect_nodes();
+
+ // Set surface texture view for rendering (sink node)
+ void set_sink_view(WGPUTextureView view) {
+ nodes_.set_external_view("sink", view);
+ }
+
+ // Set source texture view (input framebuffer)
+ void set_source_view(WGPUTextureView view) {
+ nodes_.set_external_view("source", view);
+ }
+
// Test accessor
const std::vector<EffectDAGNode>& get_effect_dag() const {
return effect_dag_;