itsmattkc
8939a3aa66
allow concurrent decoders for different blocks
2022-06-01 10:03:33 -07:00
itsmattkc
23973699b4
render: improved overall flow
2022-05-16 15:41:50 -07:00
itsmattkc
79e1ea70a5
nodes: prevent transform traversals creeping back up
2022-05-15 22:31:34 -07:00
itsmattkc
e9844ee135
implemented gizmo transforming through the node graph
2022-05-15 14:36:30 -07:00
itsmattkc
4b366a9b73
update copyright year to 2022
2022-05-10 10:38:56 -07:00
itsmattkc
bb0fedabba
simplified and optimized samplebuffer
2022-05-09 14:55:51 -07:00
itsmattkc
81e2628cbb
Merge branch 'master' into pr/1875
2022-05-04 15:04:28 -07:00
itsmattkc
07519a952e
traverser: handle invalid audio params
2022-05-04 14:25:15 -07:00
itsmattkc
a3c52cafaa
traverser: fixed regression regarding converting generated frames
2022-05-03 20:49:44 -07:00
itsmattkc
7cbca303e8
Merge branch 'master' into pr/1875
2022-05-03 18:51:59 -07:00
itsmattkc
329dfb7913
renderer: resolve jobs at the end
2022-05-03 18:43:12 -07:00
itsmattkc
6512774b86
code: conform traverser buffer creation
...
Helps ensure parity between traverser and render processor
2022-05-03 17:10:03 -07:00
itsmattkc
0e490b94e5
nodes: implemented recursive jobs
2022-05-03 15:03:14 -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
7f0fc1de90
implement color processor job
...
Refactored code to use a color processor job
2022-04-15 14:03:06 -07:00
Thomas Wilshaw
979095d2e0
Get OCIO node groundwork working
2022-03-08 14:40:03 +00:00
itsmattkc
b5be11a93b
push null texture if footage time is NaN
...
Fixes #1767
2022-01-09 22:21:10 -08:00
itsmattkc
677277c16d
renderer: improved code flow
2021-09-21 19:10:03 -07:00
itsmattkc
0df7012c9e
rewrote hashing
2021-09-20 21:14:15 -07:00
itsmattkc
67c7c71ca2
implemented "value hints" for choosing output values to use
2021-09-17 20:56:53 -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
445d276cd0
nodes: further optimized merge node to passthrough RGB blend textures
2021-04-23 11:01:08 +10:00
itsmattkc
97b9bcc79f
nodes: merged gizmotraverser and nodetabletraverser into nodetraverser
...
No real reason for these other derivatives that did virtually
the same thing.
2021-04-22 12:52:10 +10:00
itsmattkc
77d4b18a60
updated copyright year for 2021 [skip ci]
2021-04-17 18:56:50 +10:00
itsmattkc
6c30f8cf46
nodes: implemented infrastructure for caching any node
...
Not accessible through UI yet, but ported Footage node to it
(previously we used a hack to ensure Footage textures were
cached, now it's a formal infrastructure).
2021-04-11 18:56:39 +10:00
itsmattkc
eef19ca0ff
streamlined viewable-based lengths
2021-04-08 09:46:31 +10:00
itsmattkc
4827782331
moved sequence params into node graph too
...
Reduces code by reusing more of the existing node infrastructure
to synchronize sequence parameters the render backend.
2021-02-18 13:20:23 +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
8f729203fc
some timeline refactoring, preparing for rewrites
2021-01-09 11:41:33 +11:00
itsmattkc
6cb6407bd8
don't use shared ptrs on streams
2020-12-16 13:46:19 +11:00
itsmattkc
3167047ded
nodetraverser: added abstract function for generating sequence resolution
2020-11-22 10:25:47 +11: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
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
itsmattkc
5c5f09a20c
renderer: added generate job
...
For nodes that produce an image on the CPU before sending it to the GPU.
2020-06-13 03:01:23 +10:00
itsmattkc
dd7af0e6bd
nodes: minor overhaul to functionality
...
The nodes now have more control over how their accelerated shaders/sample
functions are run, as well as how items are popped off the value tables.
This allows for various optimizations that we didn't have access to before.
2020-06-12 00:54:15 +10:00
itsmattkc
71ec148e76
renderer: moved all shader code into one solidified function
...
Makes texture-based optimizations easier when they're all in one place.
2020-06-10 01:54:02 +10:00
itsmattkc
8795e51452
renderer: massive overhaul to move to a vastly simplified threading system
2020-05-15 00:52:45 +10:00
itsmattkc
863ae1b913
a first attempt at a new render system
2020-05-14 14:43:03 +10:00
itsmattkc
c387ce1cd7
polygon node: early crude implementation
2020-05-05 00:22:49 +10:00
itsmattkc
2f80be437a
node: fixed issue with "taking" values from input tables
...
As opposed to simply leaving all values in the table, nodes can now "take"
values that they use to free up memory (e.g. "taking" input buffers if they're
used to produce an output buffer).
This is a fairly large change, expect regressions.
2020-04-16 23:12:05 +10:00
itsmattkc
1aa87cbda6
various: encapsulate all code in the olive namespace to avoid name collisions
...
Large-scale code cleanup. Also adds a license to the top of all files that were
missing it.
2020-04-06 15:29:53 +10:00
itsmattkc
9e4c79699e
node: split off traversing functions from renderer for usage elsewhere
...
Fixes issue where Viewer node wouldn't pick up correct length if a tracks
weren't in use.
2020-03-13 15:31:15 +11:00