Commit Graph
34 Commits
Author SHA1 Message Date
itsmattkc 97c192672e constructed keyframeview and timeruler together inside nodeparamview and connected them 2019-12-25 02:42:07 +11:00
itsmattkc 7a7d304268 use uuid for identifying viewers
To aid generating a cache ID, each viewer node needs a UUID. Previous iterations
tried to hash a name and time, but a UUID is a much more efficient way to do
this.
2019-12-20 04:32:17 +11:00
itsmattkc c32a1c8be2 removed last of the NodeOutput dependencies
Since all Nodes have an output that provides all output values now, we now
never need to add an output from a Node derivative. These changes remove the
last of them and disable the ability to add more outputs from a derivative.
2019-12-06 04:21:55 +11:00
itsmattkc 50f7fac156 fixed signal/slot connections which had been renamed and weren't resolving 2019-12-06 00:43:51 +11:00
itsmattkc bc0f01d9a3 make nodes more const friendly and prepare their functions for stateless work
Since the nodes won't be holding any rendering data themselves in this system,
we may as well enforce some level of non-write access by setting all the
functions to const. They were already const-friendly, they just weren't
labelled as such.
2019-12-04 20:10:42 +11:00
itsmattkc b233aa5319 added signal for an edge changing that can ripple through the graph
Useful for detecting when a graph needs recompiling, in tandem with the
"InvalidateCache()" signal when necessary, this signal ripples through the
nodes when any of the connections change which will likely need handling by
the renderer.
2019-11-23 08:51:15 +09:00
itsmattkc 492c8f474a added clone functions for nodes
Since nodes are are extremely derivative types, we use a clone/copy function
to produce new types of the derived class easily.
2019-11-22 16:53:30 +09:00
itsmattkc 9d154e1909 use different signals when the audio invalidates vs the video
Both audio and video renderers were working off the same invalidation signal
(i.e. changing audio would also trigger a re-render of the video). This is
obviously suboptimal and now they are separate.
2019-11-17 13:44:50 +09:00
itsmattkc 16ac2fc0e1 sweeping node graph changes for new rendering pipeline
The new rendering pipeline strives to simplify the nodes themselves as much
as possible and move much of the logic to an external rendering engine. This
change removes all of the responsibilities that no longer belong to the
nodes themselves and will soon be folded into the renderer.
2019-11-02 01:39:37 +11:00
itsmattkc 77bcb70dac started porting renderer to new portable form 2019-10-31 19:14:58 +11:00
itsmattkc 4d96ac9e39 don't police data type connections between nodes
Nodes were previously written to be "strongly typed" in that a parameter's
"type" enforced whether it could be connected to another. All code related
to that has now been removed since not only is it hard to maintain and
likely unnecessary, it's possible the nodes will work differently later on
anyway.
2019-10-25 00:44:14 +11:00
itsmattkc 7dec79ceaa various changes to rendering flow and structure 2019-10-23 00:42:52 +11:00
itsmattkc 5f86b9b9c7 nodes are given a time range 2019-10-22 14:58:06 +11:00
itsmattkc 9da5e7c9be added sample retrieve function 2019-10-22 13:29:11 +11:00
itsmattkc f1e4e1c685 added samples type and duplicated video renderer 2019-10-22 13:22:30 +11:00
itsmattkc b3e6f8bbee connect length to viewer node for now 2019-10-20 21:47:46 +11:00
itsmattkc 150afb6ebc fixed hardcoded viewer size 2019-09-27 03:51:08 +10:00
itsmattkc 389e723416 conformed viewer node/panel affinity 2019-09-20 05:12:34 +10:00
itsmattkc ba7a10177f fixed various caching issues when rapidly changing values 2019-09-09 04:07:51 +10:00
itsmattkc 6fcfd01c8f fixed viewer flicker when rapidly changing parameters 2019-09-08 22:50:04 +10:00
itsmattkc 371d0e2b37 some render cache adjustments 2019-09-04 10:58:50 +10:00
itsmattkc 3a9af58344 adjusted invalidatecache function 2019-09-02 20:11:42 +10:00
itsmattkc f2972651af several adjustments to node caching system 2019-09-02 11:29:50 +10:00
itsmattkc deff114241 media node upgrades to reference pixel format 2019-08-29 12:30:42 +10:00
itsmattkc 7dc2290496 shift renderer prototype to new node structure 2019-08-28 02:40:44 +10:00
itsmattkc 5afe7d523c shifted to new dependency structure 2019-08-28 01:24:50 +10:00
itsmattkc b9ce02a0ec separated setting time and processing node functions 2019-08-27 23:38:24 +10:00
itsmattkc 438e7081f9 foundations for background caching 2019-08-24 22:16:01 +10:00
itsmattkc 02ea535c8a added IDs to parameters for serialization 2019-08-13 17:22:32 +10:00
itsmattkc f8830beac7 created new sequence dialog 2019-07-21 18:21:40 -07:00
itsmattkc 9f6d0f9dc7 documented new node classes 2019-07-17 03:05:25 -04:00
itsmattkc a78cc3950a various node UI improvements 2019-07-16 13:25:38 -04:00
itsmattkc f2d11662c9 finished prototype of nodes providing a texture to a viewer 2019-07-13 03:13:59 -04:00
itsmattkc d76691a9ef began draft of internal node rendering structure 2019-07-10 23:06:09 -04:00