Commit Graph
80 Commits
Author SHA1 Message Date
Mike-Solar 225f8505c2 feat(render): dynamic OpenGL/Vulkan backend split and backend-neutral viewer
- Extract libolive-rendercore static library to minimize backend link boundary.
- Add DynamicRenderer adapter with C ABI (oakgl/oakvulkan shared libs).
- Make OAK_ENABLE_DYNAMIC_RENDER_BACKEND default ON with OpenGL fallback.
- Implement VulkanRenderer prototype (textures, shaders, UBO blit, readback).
- Add backend-neutral viewer readback path (offscreen -> QImage -> QPainter).
- Refactor PluginRenderer to be renderer-agnostic; OFX plugins fall back to CPU
  path on non-OpenGL backends while preserving OpenGL render path.
- Add Renderer::AttachOutputTexture/DetachOutputTexture and C ABI forwards.
- Update docs/zh/render-backend-dynamic-plan.md for Phase 3/4/5.
2026-07-13 10:19:29 +08:00
Mike-Solar d5d70d0151 Add dynamic render backend adapter scaffold 2026-07-13 10:19:29 +08:00
Mike-Solar 341283b1cd Add graphics backend selection 2026-07-13 10:19:29 +08:00
Mike-Solar 0daad22129 Complete render process isolation phases 4 and 5 2026-06-06 23:31:52 +08:00
Mike-Solar 042f008a02 Add decoded input slots for render workers 2026-06-04 21:32:43 +08:00
Mike-Solar 98c884c381 Wire render worker pool into render manager 2026-06-04 16:23:36 +08:00
Mike-Solar bfb1b2fce4 update copyright back 2026-01-16 21:22:05 +08:00
Mike-Solar e851653fa3 尝试修复粉紫屏未果 2026-01-16 21:11:24 +08:00
Mike-Solar b8669f6a11 Change project name; 2026-01-05 16:22:26 +08:00
Mike Solar 6fdfd03ffd update: update copyright 2025-08-05 17:12:49 +08:00
Mike Solar 74f73ab3be change: change code style to Linux style except indent. 2025-08-03 03:09:40 +08:00
itsmattkc 11e4e051c3 move undo files around for better organization 2023-02-20 16:09:22 -08:00
itsmattkc 5da72e4d35 Squashed commit of the following:
commit dec7ca6b96c58decf2c5e5194b665fa2342951b2
Author: itsmattkc <34096995+itsmattkc@users.noreply.github.com>
Date:   Wed Feb 8 12:32:12 2023 -0800

    moved previewautocacher to rendermanager

commit d289d74d82c3911f3fdaa707abe9994c7363594d
Merge: a8a049a28 70d34c674
Author: itsmattkc <34096995+itsmattkc@users.noreply.github.com>
Date:   Wed Feb 8 12:15:31 2023 -0800

    Merge branch 'master' into move-cacher-to-renderman

commit a8a049a2857c438cbab0f1ab21e3299fdfbf1fa1
Author: itsmattkc <34096995+itsmattkc@users.noreply.github.com>
Date:   Wed Feb 8 11:18:25 2023 -0800

    initial work
2023-02-08 12:40:19 -08:00
itsmattkc dd9c52ab59 start moving core frameworks to external libraries 2023-01-19 09:51:47 -08:00
itsmattkc 76e0e2bd13 Merge branch 'master' into multicam 2022-09-29 21:18:30 -07:00
itsmattkc 6e183fe4be multicam: refactor to heavily optimize multicam monitor retrieval 2022-09-29 17:50:09 -07:00
itsmattkc fe159bdd73 rendermanager: use multithreading for waveforms 2022-09-27 22:06:05 -07:00
itsmattkc 752616647c rendermanager: separate waveform into another thread 2022-09-08 20:29:36 -07:00
itsmattkc 877c967ce2 rendermanager: move ticket to render thread 2022-09-01 11:05:46 -07:00
itsmattkc b24cf3e658 rendermanager: make declaring render mode mandatory 2022-08-18 08:21:16 -07:00
itsmattkc 54d0a94a20 Merge branch 'master' into cache-update 2022-08-18 08:12:46 -07:00
itsmattkc 9636ec202d render: allow forcing channel count 2022-07-28 08:57:18 -07:00
itsmattkc 25e94112f8 viewer: implement lookahead to ensure footage is ready in advance 2022-07-26 14:49:19 -07:00
itsmattkc 7e1792cfea Merge branch 'master' into cache-update 2022-07-01 22:32:49 -05:00
itsmattkc 63f74691a5 render: cleaned up threading 2022-06-25 09:59:43 -07:00
itsmattkc ec215f7de6 renderer: attach renderer to single thread 2022-06-24 09:59:28 -07:00
itsmattkc 3f8001b146 render: use single base thread for rendering 2022-06-21 14:08:29 -07:00
itsmattkc b9119e21f4 rendermanager: remove unnecessary debug line 2022-06-10 12:14:15 -07:00
itsmattkc 09a3ce39b9 rendermanager: reimplement clearing old decoders 2022-06-10 12:12:03 -07:00
itsmattkc 998b9ba482 Merge branch 'master' into hashremoval 2022-06-01 10:06:33 -07:00
itsmattkc eb9b1850ae minor code cleanup 2022-05-31 20:14:07 -07:00
itsmattkc 2f7dc3c98b implemented separate waveform cache 2022-05-29 17:52:35 -07:00
itsmattkc 60f7f06de4 implemented base for thumbnail display 2022-05-25 11:18:08 -07:00
itsmattkc e0bb31b199 remove shifts, operations, and make caches node-agnostic 2022-05-16 19:53:38 -07:00
itsmattkc c3f0c75558 code: minor improvements to readability/flow 2022-05-16 17:26:40 -07:00
itsmattkc 5539440e7f move cache saving to renderprocessor
In my testing, this doesn't seem to help performance whatsoever, but at least the code is cleaner.
2022-05-16 17:02:18 -07:00
itsmattkc 9ba3f24f3b cache: fixed double write corruption 2022-05-16 16:10:54 -07:00
itsmattkc bfd6a407a5 Merge branch 'master' into hashremoval 2022-05-16 09:12:49 -07:00
itsmattkc ea13f249b7 render: fixed threading regression 2022-05-15 21:36:40 -07:00
itsmattkc 09c57422f9 ffmpeg: significantly optimized decoder 2022-05-15 19:33:01 -07:00
itsmattkc 4bc82ca6df removed hashes from previewautocacher 2022-05-09 19:40:58 -07:00
itsmattkc 0538c01f45 remove hashtraverser 2022-05-09 18:22:32 -07:00
itsmattkc 4acb89ab1e minor formatting
Yes, we will get a proper clang-format at some point
2022-05-05 09:35:35 -07:00
Bennett Anderson 31dc557909 Update copyright year 2022-05-04 09:47:17 -07:00
Bennett f9db19e91c Always prefer constexpr when possible 2022-05-04 09:39:43 -07:00
Bennett 11ea7fcb71 Initial threadpool rewrite/cleanup 2022-05-04 09:39:43 -07:00
itsmattkc 8277748719 render: avoid hashing null node 2021-09-21 21:32:20 -07:00
itsmattkc 0df7012c9e rewrote hashing 2021-09-20 21:14:15 -07:00
itsmattkc 7ba5dca4ab renderer: always hash along edges 2021-09-19 23:11:20 -07:00
itsmattkc b07bccb7dc nodes: revert to single output 2021-09-07 22:01:36 -07:00