summaryrefslogtreecommitdiff
path: root/src/gpu
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpu')
-rw-r--r--src/gpu/demo_effects.h20
-rw-r--r--src/gpu/effect.cc (renamed from src/gpu/effect_v2.cc)6
-rw-r--r--src/gpu/effect.h (renamed from src/gpu/effect_v2.h)15
-rw-r--r--src/gpu/gpu.cc2
-rw-r--r--src/gpu/sequence.cc (renamed from src/gpu/sequence_v2.cc)20
-rw-r--r--src/gpu/sequence.h (renamed from src/gpu/sequence_v2.h)17
6 files changed, 43 insertions, 37 deletions
diff --git a/src/gpu/demo_effects.h b/src/gpu/demo_effects.h
index beccd46..b837ffe 100644
--- a/src/gpu/demo_effects.h
+++ b/src/gpu/demo_effects.h
@@ -9,21 +9,21 @@
#include "3d/scene.h"
// Base effect classes (v2)
-#include "gpu/effect_v2.h"
+#include "gpu/effect.h"
#include "gpu/post_process_helper.h"
-#include "gpu/sequence_v2.h"
+#include "gpu/sequence.h"
#include "gpu/shaders.h"
#include "gpu/texture_manager.h"
#include "gpu/uniform_helper.h"
// Individual Effect Headers (v2)
-#include "effects/gaussian_blur_effect_v2.h"
-#include "effects/heptagon_effect_v2.h"
-#include "effects/hybrid3_d_effect_v2.h"
-#include "effects/particles_effect_v2.h"
-#include "effects/passthrough_effect_v2.h"
-#include "effects/placeholder_effect_v2.h"
-#include "effects/rotating_cube_effect_v2.h"
+#include "effects/gaussian_blur_effect.h"
+#include "effects/heptagon_effect.h"
+#include "effects/hybrid3_d_effect.h"
+#include "effects/particles_effect.h"
+#include "effects/passthrough_effect.h"
+#include "effects/placeholder_effect.h"
+#include "effects/rotating_cube_effect.h"
// TODO: Port CNN effects to v2
// #include "../../cnn_v1/src/cnn_v1_effect.h"
// #include "../../cnn_v2/src/cnn_v2_effect.h"
@@ -31,7 +31,7 @@
#include <memory>
// Auto-generated functions from sequence compiler v2
-// See generated/timeline_v2.h for:
+// See generated/timeline.h for:
// - InitializeV2Sequences()
// - GetActiveV2Sequence()
// - RenderV2Timeline()
diff --git a/src/gpu/effect_v2.cc b/src/gpu/effect.cc
index 7ecdfbd..e4d3a90 100644
--- a/src/gpu/effect_v2.cc
+++ b/src/gpu/effect.cc
@@ -1,9 +1,9 @@
-// EffectV2 implementation
+// Effect implementation
-#include "gpu/effect_v2.h"
+#include "gpu/effect.h"
#include "util/fatal_error.h"
-EffectV2::EffectV2(const GpuContext& ctx, const std::vector<std::string>& inputs,
+Effect::Effect(const GpuContext& ctx, const std::vector<std::string>& inputs,
const std::vector<std::string>& outputs)
: ctx_(ctx), input_nodes_(inputs), output_nodes_(outputs) {
FATAL_CHECK(!inputs.empty(), "Effect must have at least one input\n");
diff --git a/src/gpu/effect_v2.h b/src/gpu/effect.h
index 0d4e18d..d40e750 100644
--- a/src/gpu/effect_v2.h
+++ b/src/gpu/effect.h
@@ -1,19 +1,21 @@
-// EffectV2: Base class for v2 effects with multi-input/multi-output support
+// Effect: Base class for effects with multi-input/multi-output support
+#ifndef EFFECT_H
+#define EFFECT_H
#pragma once
#include "gpu/gpu.h"
-#include "gpu/sequence_v2.h"
+#include "gpu/sequence.h"
#include <string>
#include <vector>
class NodeRegistry;
-class EffectV2 {
+class Effect {
public:
- EffectV2(const GpuContext& ctx, const std::vector<std::string>& inputs,
- const std::vector<std::string>& outputs);
- virtual ~EffectV2() = default;
+ Effect(const GpuContext& ctx, const std::vector<std::string>& inputs,
+ const std::vector<std::string>& outputs);
+ virtual ~Effect() = default;
// Optional: Declare temporary nodes (e.g., multi-pass intermediate buffers)
virtual void declare_nodes(NodeRegistry& registry) {
@@ -45,3 +47,4 @@ class EffectV2 {
int width_ = 1280;
int height_ = 720;
};
+#endif // EFFECT_H
diff --git a/src/gpu/gpu.cc b/src/gpu/gpu.cc
index 647833c..805e555 100644
--- a/src/gpu/gpu.cc
+++ b/src/gpu/gpu.cc
@@ -3,7 +3,7 @@
// Driven by audio peaks for synchronized visual effects.
#include "gpu.h"
-#include "generated/timeline_v2.h"
+#include "generated/timeline.h"
#include "gpu/shader_composer.h"
#include "gpu/shaders.h"
#include "platform/platform.h"
diff --git a/src/gpu/sequence_v2.cc b/src/gpu/sequence.cc
index 3912849..d0a925f 100644
--- a/src/gpu/sequence_v2.cc
+++ b/src/gpu/sequence.cc
@@ -1,7 +1,7 @@
-// Sequence v2 implementation
+// Sequence implementation
-#include "gpu/sequence_v2.h"
-#include "gpu/effect_v2.h"
+#include "gpu/sequence.h"
+#include "gpu/effect.h"
#include "util/fatal_error.h"
#include <algorithm>
@@ -183,15 +183,15 @@ void NodeRegistry::create_texture(Node& node) {
FATAL_CHECK(node.view != nullptr, "Failed to create texture view\n");
}
-// SequenceV2 implementation
+// Sequence implementation
-SequenceV2::SequenceV2(const GpuContext& ctx, int width, int height)
+Sequence::Sequence(const GpuContext& ctx, int width, int height)
: ctx_(ctx), width_(width), height_(height),
nodes_(ctx.device, width, height) {
uniforms_buffer_.init(ctx.device);
}
-void SequenceV2::preprocess(float seq_time, float beat_time, float beat_phase,
+void Sequence::preprocess(float seq_time, float beat_time, float beat_phase,
float audio_intensity) {
params_.resolution = {static_cast<float>(width_), static_cast<float>(height_)};
params_.aspect_ratio =
@@ -205,19 +205,19 @@ void SequenceV2::preprocess(float seq_time, float beat_time, float beat_phase,
uniforms_buffer_.update(ctx_.queue, params_);
}
-void SequenceV2::postprocess(WGPUCommandEncoder encoder) {
+void Sequence::postprocess(WGPUCommandEncoder encoder) {
(void)encoder;
// Default: No-op (last effect writes to sink directly)
}
-void SequenceV2::render_effects(WGPUCommandEncoder encoder) {
+void Sequence::render_effects(WGPUCommandEncoder encoder) {
// Execute DAG in topological order (pre-sorted by compiler)
for (const auto& dag_node : effect_dag_) {
dag_node.effect->render(encoder, params_, nodes_);
}
}
-void SequenceV2::resize(int width, int height) {
+void Sequence::resize(int width, int height) {
width_ = width;
height_ = height;
nodes_.resize(width, height);
@@ -228,7 +228,7 @@ void SequenceV2::resize(int width, int height) {
}
}
-void SequenceV2::init_effect_nodes() {
+void Sequence::init_effect_nodes() {
for (auto& dag_node : effect_dag_) {
dag_node.effect->declare_nodes(nodes_);
}
diff --git a/src/gpu/sequence_v2.h b/src/gpu/sequence.h
index 2197a82..a33dedb 100644
--- a/src/gpu/sequence_v2.h
+++ b/src/gpu/sequence.h
@@ -1,6 +1,8 @@
-// Sequence v2: Explicit node system with DAG effect routing
-// Replaces implicit framebuffer ping-pong with compile-time optimized nodes
+// Sequence: Explicit node system with DAG effect routing
+// DAG-based effect routing with ping-pong optimization
+#ifndef SEQUENCE_H
+#define SEQUENCE_H
#pragma once
#include "gpu/gpu.h"
@@ -11,7 +13,7 @@
#include <string>
#include <vector>
-class EffectV2;
+class Effect;
enum class NodeType {
U8X4_NORM, // RGBAu8 normalized (0-1) - default Source/Sink
@@ -80,16 +82,16 @@ class NodeRegistry {
};
struct EffectDAGNode {
- std::shared_ptr<EffectV2> effect;
+ std::shared_ptr<Effect> effect;
std::vector<std::string> input_nodes;
std::vector<std::string> output_nodes;
int execution_order; // Topologically sorted
};
-class SequenceV2 {
+class Sequence {
public:
- SequenceV2(const GpuContext& ctx, int width, int height);
- virtual ~SequenceV2() = default;
+ Sequence(const GpuContext& ctx, int width, int height);
+ virtual ~Sequence() = default;
// Virtual methods (most sequences use defaults)
virtual void preprocess(float seq_time, float beat_time, float beat_phase,
@@ -126,3 +128,4 @@ class SequenceV2 {
UniformsSequenceParams params_;
UniformBuffer<UniformsSequenceParams> uniforms_buffer_;
};
+#endif // SEQUENCE_H