Commit Graph
26 Commits
Author SHA1 Message Date
itsmattkc dc79a6a5d9 revised text node
Fixes #1684
2021-10-25 15:46:06 -07:00
itsmattkc d4a2f1d6bc colormanager: don't list spaces if config is null 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 afed4f48d4 removed unused qfloat16 includes
Should lower our Qt minimum version requirement to 5.6
2021-04-13 23:43:56 +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 965519e9cf ported opacity node to external file format
The plan is to port all nodes that can be external to the external file format.
This should help keep things maintainable.
2019-12-15 02:51:28 +11:00
itsmattkc 0b7782e129 added support for multiple node iterations
Optimizes various effects, particularly blurs.
2019-12-15 00:39:28 +11:00
itsmattkc 2fb4047e6f moved all shader code out of C++ source and into external shader files
General code cleanup and easier maintenance.
2019-12-10 00:10:00 +11:00
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 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 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 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 97a4294bb3 refactoring work to improve issues with new rendering pipeline 2019-11-04 11:34:43 +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 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 5105568291 moved renderer files 2019-10-19 14:02:15 +11:00
itsmattkc d6483916ac base audio renderer classes created 2019-10-16 13:51:56 +11: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 6fcfd01c8f fixed viewer flicker when rapidly changing parameters 2019-09-08 22:50:04 +10:00
itsmattkc c2e59b0855 alpha over and opacity nodes are now functional 2019-09-06 15:45:12 +10:00
itsmattkc ff02b41cdc added slider widget 2019-08-31 16:55:57 +10:00
itsmattkc a4369c4d79 filled out alpha over and opacity nodes 2019-08-31 14:45:13 +10:00