Commit Graph
45 Commits
Author SHA1 Message Date
itsmattkc da680094bf created NodeInputArray parameter type
It seems unwise to let NodeInputs take more than one value, but at times
it makes sense to create a list or array of inputs. This class will create
sub-parameters as an easy way to provide variable inputs while also enforcing
one connection per input parameter.

This is also the primary motivation for the previous commit (disambiguating
when a NodeParam's parent is a Node vs some other type).
2019-12-01 00:01:25 +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 bc9b7bc4f0 add mode for copying values only and not connections
Sometimes we'll be copying nodes without wanting to copy their connections,
since we'll want to connect them to equivalent copies rather than connecting
them to the same nodes the originals were connected to. We now have an extra
parameter to distinguish such operations.
2019-11-23 01:51:36 +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 3b224c7638 multithreaded download and files that probably should have been in the last
commit

For testing the new iteration, the texture cache disk download was written
into the main thread instead of into the separate threads. Now they're back
in separate threads again.

Also I think some of these files probably should have been in the previous
commit.
2019-11-06 09:14:20 +11:00
itsmattkc 663ae56ac4 more coherent render threading for now
Once again, conceptually this system should work, however it does not seem to
be the most efficient and it wouldn't surprise me if the multithreading was
eventually upgraded to an even more coherent system one day. However for
"core principles" this should be fairly decent.
2019-11-03 04:05:43 +11:00
itsmattkc 788502cd11 removed another unnecessary node function 2019-11-02 18:12:54 +11: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 401aff52a8 attempts at folding opencl support in 2019-10-28 18:21:20 +11:00
itsmattkc 5f86b9b9c7 nodes are given a time range 2019-10-22 14:58:06 +11:00
itsmattkc 3411e45774 preliminary support for multiple timeline sections 2019-10-05 07:33:27 +10:00
itsmattkc 9806c772ac improved sequence creation 2019-09-27 03:38:21 +10:00
itsmattkc 9fa22938b9 work towards making timeline actions all undoable 2019-09-23 23:00:15 +10:00
itsmattkc 16a4897236 minor improvements 2019-09-17 21:25:00 +10:00
itsmattkc a38d257800 added more threading locks 2019-09-11 00:01:42 +10:00
itsmattkc 9ff4a81ec8 partially functional transform 2019-09-09 18:11:04 +10:00
itsmattkc ba7a10177f fixed various caching issues when rapidly changing values 2019-09-09 04:07:51 +10:00
itsmattkc c2e59b0855 alpha over and opacity nodes are now functional 2019-09-06 15:45:12 +10:00
itsmattkc 12bc5839a6 fixed various caching issues 2019-09-02 22:58:44 +10:00
itsmattkc 3a9af58344 adjusted invalidatecache function 2019-09-02 20:11:42 +10:00
itsmattkc b563b9e783 began node hashing for improved cache 2019-09-02 12:06:24 +10:00
itsmattkc f2972651af several adjustments to node caching system 2019-09-02 11:29:50 +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 7d9d12ee0b began support of timeline tracks/channels 2019-08-15 23:40:22 +10:00
itsmattkc 4f4737a395 added some more timeline functions 2019-08-13 21:50:39 +10:00
itsmattkc 02ea535c8a added IDs to parameters for serialization 2019-08-13 17:22:32 +10:00
itsmattkc dc4a460e32 node importing down 2019-08-11 21:13:16 +10:00
itsmattkc 149f3fa907 timelineview is now a true view of the blocks at all times 2019-08-11 21:01:37 +10:00
itsmattkc c6dfab4caf use decoder ID in media node 2019-08-08 15:52:53 +10:00
itsmattkc f3b60369aa use IDs for multiple decoders 2019-08-08 15:38:58 +10:00
itsmattkc badcade0b6 added base 'block' node 2019-07-27 02:50:22 -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 44668e144c code cleanup and better text display 2019-07-15 13:07:17 -04:00
itsmattkc 3ec133f254 can visually see connections between parameters in the node view 2019-07-15 12:43:56 -04:00
itsmattkc 837d43fe07 moved various classes from root to common folder 2019-07-15 03:58:39 -04:00
itsmattkc dc2101938e began node viewer for dag insight 2019-07-15 03:52:44 -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
itsmattkc 08a75b58dd fleshed out node edges 2019-07-10 03:22:53 -05:00
itsmattkc 60b04f98b4 began new node infrastructure 2019-07-10 03:00:35 -05:00