Commit Graph
82 Commits
Author SHA1 Message Date
itsmattkc c0d8ff403f nodes: rework so that jobs can be completely deferred
Big optimization requiring a lot of refactoring.
2022-09-24 18:44:59 -07:00
itsmattkc f157e5014d fix more instances where sample counts used int instead of size_t 2022-09-16 00:35:48 -07:00
itsmattkc 3003b4e849 crossdissolvetransition: use size_t instead of int for sample counts 2022-09-16 00:09:38 -07:00
itsmattkc 5ea97f7a64 render: remove alpha request option 2022-07-20 23:14:16 -07:00
itsmattkc bfd6a407a5 Merge branch 'master' into hashremoval 2022-05-16 09:12:49 -07:00
itsmattkc 4b366a9b73 update copyright year to 2022 2022-05-10 10:38:56 -07:00
itsmattkc 08f3cb3cc3 remove hashes from nodes 2022-05-09 18:30:36 -07:00
itsmattkc b88e15b8cf accleratedjob: simplified function calls 2022-05-09 15:16:46 -07:00
itsmattkc bb0fedabba simplified and optimized samplebuffer 2022-05-09 14:55:51 -07:00
itsmattkc 58c4600d04 nodevalue: begin abstracting qvariant 2022-05-09 13:07:34 -07:00
itsmattkc 601d08ce64 node: change class sent to GetShaderCode 2022-05-07 13:36:44 -07:00
itsmattkc d55d9c820f code: use macros for default node functions
Easier to maintain
2022-05-04 11:01:17 -07:00
itsmattkc 028d2fd60c nodes: optimize job infrastructure
Rework traversing so that jobs are only resolved when they are used. This should provide moderate optimize to the traversing process.
2022-05-03 11:19:21 -07:00
itsmattkc a653ab6808 transition: fixed crash 2021-09-23 17:07:03 -07:00
itsmattkc 7ba5dca4ab renderer: always hash along edges 2021-09-19 23:11:20 -07:00
itsmattkc 67c7c71ca2 implemented "value hints" for choosing output values to use 2021-09-17 20:56:53 -07:00
itsmattkc e08f2f9c34 more missing lines 2021-09-07 23:16:46 -07:00
itsmattkc b07bccb7dc nodes: revert to single output 2021-09-07 22:01:36 -07:00
itsmattkc a0706a78d8 nodes: implemented core of manual table value selection 2021-09-07 15:27:07 -07:00
itsmattkc 9dad2ef104 transitiontool: updated 2021-08-16 21:28:13 -07:00
itsmattkc 6995ffe015 reworked timeline elements 2021-08-01 11:05:18 -07:00
itsmattkc 7ae03a31b8 transition: fixed hash issue 2021-07-30 13:21:48 -07:00
itsmattkc c3faa49686 transition: reworked hashing 2021-07-29 13:23:24 -07:00
itsmattkc 8f7adaa5d7 transition: fixed bug 2021-07-29 13:23:01 -07:00
itsmattkc f13962da5d nodes: transform block time ICs
Fixes #1686
2021-07-24 11:56:35 -07:00
itsmattkc 660e68b56a fixed transition bugs
Fixes #1522
2021-04-26 21:45:04 +10:00
itsmattkc e2a590da26 timeline: remove transitions when removing clips
Fixes #1224
2021-04-26 20:29:21 +10:00
itsmattkc 445d276cd0 nodes: further optimized merge node to passthrough RGB blend textures 2021-04-23 11:01:08 +10:00
itsmattkc 74ad4110be transform: hash the generated matrix
Making an exception for the transform node, we use a slightly
heavier hash to save more rendering time later.

Fixes #1560
Addresses some of #1360
2021-04-22 18:01:26 +10:00
itsmattkc 269fa6d905 remove block enum
Replaced with dynamic casts.
2021-04-22 11:50:24 +10:00
itsmattkc 77d4b18a60 updated copyright year for 2021 [skip ci] 2021-04-17 18:56:50 +10:00
itsmattkc cb75e37e77 moved several files around
Mostly moved classes that became node derivatives into the node/ folder.
2021-04-08 12:15:59 +10:00
itsmattkc fb410e7c96 use vectors for sample buffers rather than raw ptr arrays 2021-03-17 11:54:14 +11:00
itsmattkc d7c5ac4b44 implement entire project in nodes
Project items are now represented directly in nodes opening up more versatility and possibilities. This is the first iteration of this and will be buggy. Need to test thoroughly.
2021-02-15 21:31:57 +11:00
itsmattkc 81c1922911 use strings to connect nodes
This makes the node system somewhat more high-level with the intent of making
working with them far more flexible and stable. By making the architecture more
abstracted, it becomes far less rigid which should allow us to do even more
with it and make it much less crash prone.
2021-02-09 15:48:37 +11:00
itsmattkc 060714cec6 fixed uninitialized variable 2021-01-30 09:41:26 +11:00
itsmattkc f7883bd02c began some rewrites to timeline drawing 2021-01-14 10:30:20 +11:00
itsmattkc fbdda3d6d4 various code cleanups 2021-01-13 12:05:05 +11:00
itsmattkc 181235f6ce began new infrastructure
Yep, this is another one of my "famous" sweeping rewrites. Expect things to break.

Goals for this are:
- Greatly simplify node connections (particularly with arrays) so the code requires less maintenance/is more stable
- Redesign node structure to address issues where UI would stall for lengthy periods of time
- Less reliance on shared ptrs/greater reliance on QObject system for inheritance/memory management
- General code cleanup and improvements
2021-01-05 11:20:38 +11:00
Thomas Wilshaw b1b7d58e9d transition: Add transparency support to transitions
Added ShaderJobEvent to CrossDissolveTransition which sets alpha as
required.

app/node/block/transition/crossdissolve/crossdissolvetransition.cpp
app/node/block/transition/crossdissolve/crossdissolvetransition.h
2020-11-23 21:53:09 +00:00
itsmattkc 75d4cd899b use hardcoded namespace
The macro defined namespaces confused the hell out of lupdate and more or less broke translations permanently. Looks like the only way we can do it is to have a hardcoded namespace, which goes against my instinct, but honestly how likely is it that we'll change the namespace anyway (I guess forks might want to do it, but that's their problem ;) )
2020-11-17 20:24:42 +11:00
itsmattkc d241090a9f finally updated the copyright year 2020-11-17 20:13:22 +11:00
itsmattkc 15a29288aa added Q_OBJECT macro to classes that were missing it 2020-11-17 19:13:16 +11:00
itsmattkc 1b9bf6d92c switched many QLists for QVectors
Minor optimization
2020-11-16 16:17:43 +11:00
itsmattkc 0429e70fe0 merged all drawing functions into a single shader processing function 2020-11-10 15:50:13 +11:00
itsmattkc ce353ccbed timeline: various work to improve timeline behavior, particularly when dealing with transitions 2020-07-22 18:09:57 +10:00
itsmattkc c301f71d1a Merge branch 'master' of https://github.com/olive-editor/olive 2020-07-19 12:11:47 +10:00
itsmattkc d54d59fac6 transition: remove alpha channel requirement 2020-07-19 11:33:51 +10:00
Thomas Wilshaw f4da255b35 Attempt to fix CI build errors. 2020-07-17 17:35:29 +01:00
itsmattkc 662d66ad10 transitions: extended transition logic
General code and functionality improvements. Moved more code out of the
OpenGL backend for portability. Implemented audio transitions.
Implemented basic transition animation curve settings.
2020-07-16 00:36:21 +10:00