diff options
| author | skal <pascal.massimino@gmail.com> | 2026-02-01 00:58:20 +0100 |
|---|---|---|
| committer | skal <pascal.massimino@gmail.com> | 2026-02-01 01:13:53 +0100 |
| commit | 18eb8a07ba39a8aad1c75521cee027b9c9c72e40 (patch) | |
| tree | 87e498dbaffdd591eb94fddca315f6ba28756a32 /src/gpu/effect.cc | |
| parent | 03cd94817097e59a0809b222e0e1e74dd9a8ede7 (diff) | |
clang-format
Diffstat (limited to 'src/gpu/effect.cc')
| -rw-r--r-- | src/gpu/effect.cc | 75 |
1 files changed, 42 insertions, 33 deletions
diff --git a/src/gpu/effect.cc b/src/gpu/effect.cc index 86390a9..64bd053 100644 --- a/src/gpu/effect.cc +++ b/src/gpu/effect.cc @@ -19,8 +19,8 @@ void PostProcessEffect::render(WGPURenderPassEncoder pass, float, float, float, } // --- Sequence Implementation --- -void Sequence::init(MainSequence *demo) { - for (auto &item : items_) { +void Sequence::init(MainSequence* demo) { + for (SequenceItem& item : items_) { if (!item.effect->is_initialized) { item.effect->init(demo); item.effect->is_initialized = true; @@ -35,16 +35,17 @@ void Sequence::add_effect(std::shared_ptr<Effect> effect, float start_time, } void Sequence::sort_items() { - if (is_sorted_) return; + if (is_sorted_) + return; std::sort(items_.begin(), items_.end(), - [](const SequenceItem &a, const SequenceItem &b) { + [](const SequenceItem& a, const SequenceItem& b) { return a.priority < b.priority; }); is_sorted_ = true; } void Sequence::update_active_list(float seq_time) { - for (auto &item : items_) { + for (SequenceItem& item : items_) { bool should_be_active = (seq_time >= item.start_time && seq_time < item.end_time); @@ -59,10 +60,10 @@ void Sequence::update_active_list(float seq_time) { } void Sequence::collect_active_effects( - std::vector<SequenceItem *> &scene_effects, - std::vector<SequenceItem *> &post_effects) { + std::vector<SequenceItem*>& scene_effects, + std::vector<SequenceItem*>& post_effects) { sort_items(); - for (auto &item : items_) { + for (SequenceItem& item : items_) { if (item.active) { if (item.effect->is_post_process()) { post_effects.push_back(&item); @@ -74,7 +75,7 @@ void Sequence::collect_active_effects( } void Sequence::reset() { - for (auto &item : items_) { + for (SequenceItem& item : items_) { if (item.active) { item.effect->end(); item.active = false; @@ -129,14 +130,16 @@ void MainSequence::init(WGPUDevice d, WGPUQueue q, WGPUTextureFormat f, create_framebuffers(width, height); passthrough_effect_ = std::make_unique<PassthroughEffect>(device, format); - for (auto &entry : sequences_) { entry.seq->init(this); } + for (ActiveSequence& entry : sequences_) { + entry.seq->init(this); + } } void MainSequence::add_sequence(std::shared_ptr<Sequence> seq, float start_time, int priority) { sequences_.push_back({seq, start_time, priority}); std::sort(sequences_.begin(), sequences_.end(), - [](const ActiveSequence &a, const ActiveSequence &b) { + [](const ActiveSequence& a, const ActiveSequence& b) { return a.priority < b.priority; }); } @@ -145,9 +148,9 @@ void MainSequence::render_frame(float global_time, float beat, float peak, float aspect_ratio, WGPUSurface surface) { WGPUCommandEncoder encoder = wgpuDeviceCreateCommandEncoder(device, nullptr); - std::vector<SequenceItem *> scene_effects; - std::vector<SequenceItem *> post_effects; - for (auto &entry : sequences_) { + std::vector<SequenceItem*> scene_effects; + std::vector<SequenceItem*> post_effects; + for (ActiveSequence& entry : sequences_) { if (global_time >= entry.start_time) { float seq_time = global_time - entry.start_time; entry.seq->update_active_list(seq_time); @@ -155,16 +158,16 @@ void MainSequence::render_frame(float global_time, float beat, float peak, } } std::sort(scene_effects.begin(), scene_effects.end(), - [](const SequenceItem *a, const SequenceItem *b) { + [](const SequenceItem* a, const SequenceItem* b) { return a->priority < b->priority; }); std::sort(post_effects.begin(), post_effects.end(), - [](const SequenceItem *a, const SequenceItem *b) { + [](const SequenceItem* a, const SequenceItem* b) { return a->priority < b->priority; }); // 1. Compute - for (const auto &item : scene_effects) { + for (const SequenceItem* item : scene_effects) { item->effect->compute(encoder, global_time - item->start_time, beat, peak, aspect_ratio); } @@ -178,12 +181,12 @@ void MainSequence::render_frame(float global_time, float beat, float peak, scene_attachment.clearValue = {0, 0, 0, 1}; #if !defined(DEMO_CROSS_COMPILE_WIN32) scene_attachment.depthSlice = WGPU_DEPTH_SLICE_UNDEFINED; -#endif +#endif /* !defined(DEMO_CROSS_COMPILE_WIN32) */ WGPURenderPassDescriptor scene_desc = {.colorAttachmentCount = 1, .colorAttachments = &scene_attachment}; WGPURenderPassEncoder scene_pass = wgpuCommandEncoderBeginRenderPass(encoder, &scene_desc); - for (const auto &item : scene_effects) { + for (const SequenceItem* item : scene_effects) { item->effect->render(scene_pass, global_time - item->start_time, beat, peak, aspect_ratio); } @@ -205,7 +208,7 @@ void MainSequence::render_frame(float global_time, float beat, float peak, final_attachment.storeOp = WGPUStoreOp_Store; #if !defined(DEMO_CROSS_COMPILE_WIN32) final_attachment.depthSlice = WGPU_DEPTH_SLICE_UNDEFINED; -#endif +#endif /* !defined(DEMO_CROSS_COMPILE_WIN32) */ WGPURenderPassDescriptor final_desc = { .colorAttachmentCount = 1, .colorAttachments = &final_attachment}; WGPURenderPassEncoder final_pass = @@ -228,8 +231,8 @@ void MainSequence::render_frame(float global_time, float beat, float peak, : framebuffer_view_a_); } - PostProcessEffect *pp = - static_cast<PostProcessEffect *>(post_effects[i]->effect.get()); + PostProcessEffect* pp = + (PostProcessEffect*)(post_effects[i]->effect.get()); pp->update_bind_group(current_input); WGPURenderPassColorAttachment pp_attachment = {}; @@ -239,7 +242,7 @@ void MainSequence::render_frame(float global_time, float beat, float peak, pp_attachment.storeOp = WGPUStoreOp_Store; #if !defined(DEMO_CROSS_COMPILE_WIN32) pp_attachment.depthSlice = WGPU_DEPTH_SLICE_UNDEFINED; -#endif +#endif /* !defined(DEMO_CROSS_COMPILE_WIN32) */ WGPURenderPassDescriptor pp_desc = {.colorAttachmentCount = 1, .colorAttachments = &pp_attachment}; WGPURenderPassEncoder pp_pass = @@ -262,14 +265,20 @@ void MainSequence::render_frame(float global_time, float beat, float peak, } void MainSequence::shutdown() { - if (framebuffer_view_a_) wgpuTextureViewRelease(framebuffer_view_a_); - if (framebuffer_a_) wgpuTextureRelease(framebuffer_a_); - if (framebuffer_view_b_) wgpuTextureViewRelease(framebuffer_view_b_); - if (framebuffer_b_) wgpuTextureRelease(framebuffer_b_); - for (auto &entry : sequences_) { entry.seq->reset(); } + if (framebuffer_view_a_) + wgpuTextureViewRelease(framebuffer_view_a_); + if (framebuffer_a_) + wgpuTextureRelease(framebuffer_a_); + if (framebuffer_view_b_) + wgpuTextureViewRelease(framebuffer_view_b_); + if (framebuffer_b_) + wgpuTextureRelease(framebuffer_b_); + for (ActiveSequence& entry : sequences_) { + entry.seq->reset(); + } } -#ifndef STRIP_ALL +#if !defined(STRIP_ALL) void MainSequence::simulate_until(float target_time, float step_rate) { const float bpm = 128.0f; const float aspect_ratio = 16.0f / 9.0f; @@ -277,14 +286,14 @@ void MainSequence::simulate_until(float target_time, float step_rate) { WGPUCommandEncoder encoder = wgpuDeviceCreateCommandEncoder(device, nullptr); float beat = fmodf(t * bpm / 60.0f, 1.0f); - std::vector<SequenceItem *> scene_effects, post_effects; - for (auto &entry : sequences_) { + std::vector<SequenceItem*> scene_effects, post_effects; + for (ActiveSequence& entry : sequences_) { if (t >= entry.start_time) { entry.seq->update_active_list(t - entry.start_time); entry.seq->collect_active_effects(scene_effects, post_effects); } } - for (const auto &item : scene_effects) { + for (const SequenceItem* item : scene_effects) { item->effect->compute(encoder, t - item->start_time, beat, 0.0f, aspect_ratio); } @@ -292,4 +301,4 @@ void MainSequence::simulate_until(float target_time, float step_rate) { wgpuQueueSubmit(queue, 1, &commands); } } -#endif +#endif /* !defined(STRIP_ALL) */ |
