Commit Graph
19 Commits
Author SHA1 Message Date
itsmattkc 26b3993b9d made vast improvements to rendering engine and node structure
This was many changes that were largely fundamentally related. They included:
- More const modifiers to enforce read only node graphs
- Support for fragment and vertex shaders from the nodes
- Support for node code loaded externally (embedded into the binary)
- Fixed issue preventing two textures from being used in a shader
- Removed several unused functions and cleaned up code
- Fixed video media node misreading its matrix input
2019-12-09 23:50:52 +11:00
itsmattkc 58bcbca4c5 wrote mechanisms that allow the tracks to be resized from the trackview 2019-12-08 15:14:43 +11:00
itsmattkc eac89cd685 fixed qobject warning emitted when TrackOutputs are destroyed 2019-12-07 02:02:44 +11:00
itsmattkc 351d4a246e use NodeInputArray for tracks as well
These were introduced for the new Block system and make just as much sense for
the Track system. They've now been implemented for both.
2019-12-06 20:34:19 +11:00
itsmattkc a8f435bc5c started removing track_input from track 2019-12-06 04:34:03 +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 d25dda5275 removed all dependence on NodeOutputs
If Nodes only have the one output, we don't need to do so much differentiation
between them. Previous iteration used outputs as like a distinct function
within a Node (e.g. length output would return one result, buffer output would
produce a different result - each run different code to produce their results).
Now in this iteration, it's more accurate to say a Node is just one function
(which seems more appropriate for a node system anyway).
2019-12-06 00:23:26 +11:00
itsmattkc bae448fc32 adjusted tracklist class for new node value structure
We use references to the node directly rather than references supplied by the
object. This should be more robust anyway and will fit better in the new node
structure.
2019-12-04 20:14:49 +11:00
itsmattkc 79ee3bc3df implemented new block system
Fixes recurring design issue that the Blocks were a frequent exception to the
DAG concept. The Blocks connecting to each others inputs/outputs while not
necessarily being "dependent" on each other to produce an image continually
causes issues while trying to create a rendering code path. This redesign
should provide a more "directed" approach to the directed acyclic graph.
2019-12-02 00:37:03 +11:00
itsmattkc 065fbc0428 return nullptr if a TrackReference references a track that doesn't exist
Fixes assert trying to access an array location that doesn't exist.
2019-11-19 22:24:23 +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 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 5f86b9b9c7 nodes are given a time range 2019-10-22 14:58:06 +11:00
itsmattkc 1ded30c1d9 base support for multiple timeline sections 2019-10-11 18:26:56 +11:00
itsmattkc 405f4e5e00 updated timeline tools to take custom mouse events 2019-10-11 09:35:11 +11:00
itsmattkc 31f11cd87d timeline hierarchical length signalling 2019-10-07 02:33:52 +11:00
itsmattkc f34eb0dfb6 added vertical alignment to timelineview 2019-10-05 08:27:07 +10:00
itsmattkc 3591f0c7b3 fixed crash when tracks are added 2019-10-05 07:44:11 +10:00
itsmattkc 3411e45774 preliminary support for multiple timeline sections 2019-10-05 07:33:27 +10:00