Commit Graph
63 Commits
Author SHA1 Message Date
itsmattkc 1809d908cd ociobase: detect removal from parent too
Fixes crash when copying and pasting an OCIOBase node
2022-05-11 19:55:03 -07:00
itsmattkc 4b366a9b73 update copyright year to 2022 2022-05-10 10:38:56 -07:00
itsmattkc b88e15b8cf accleratedjob: simplified function calls 2022-05-09 15:16:46 -07:00
itsmattkc 58c4600d04 nodevalue: begin abstracting qvariant 2022-05-09 13:07:34 -07:00
itsmattkc 30c22690c1 code: minor cleanup 2022-05-08 11:56:57 -07:00
itsmattkc accdbe8dfb ociogradingtransformlinear: disable limits
Unfortunately I realized these will break if the input they are using are keyframed or connected in any way. At some point we may implement something to get around that, but currently there is nothing so they are temporarily disabled
2022-05-08 11:50:40 -07:00
itsmattkc 75a3275936 ociogradingtransformlinear: reorder sliders
Most people will probably want master controls, so it makes sense to have them first, particularly since we aren't using GradingRGBMs anymore
2022-05-08 11:49:49 -07:00
Thomas Wilshaw 31eeddeb08 Merge branch 'ocio_node' of https://github.com/ThomasWilshaw/olive into ocio_node 2022-05-07 23:40:57 +01:00
Thomas Wilshaw 471064df04 Ensure white clamp is always greater than black clamp 2022-05-07 23:40:25 +01:00
itsmattkc 8b0eca4396 Merge branch 'ocio_node' of https://github.com/ThomasWilshaw/olive into pr/1875 2022-05-07 15:38:22 -07:00
itsmattkc ab9114947d ociogradingtransformlinear: update for dynamic processor 2022-05-07 15:38:20 -07:00
Thomas Wilshaw 2ef4f9440b Set contrast to OCIO specified minimum 2022-05-07 22:30:15 +01:00
Thomas Wilshaw 6d84df8288 Add tooltip property to node parameters. 2022-05-07 21:47:52 +01:00
Thomas Wilshaw f46f8e50dc Swap clamp disables for enables 2022-05-07 21:26:34 +01:00
itsmattkc 0403ad8fce ociogradingtransformlinear: fix other potential merge conflict 2022-05-07 12:37:24 -07:00
itsmattkc ceffff3f82 ociogradingtransformlinear: fix potential merge conflict 2022-05-07 12:36:06 -07:00
itsmattkc 67516a5d45 ociogradingtransformlinear: add base for easier dragging 2022-05-07 12:34:42 -07:00
Thomas Wilshaw e4b7d33af1 Add new nodes to Video Effects list 2022-05-07 19:37:12 +01:00
Thomas Wilshaw d08c46aaab Add disable options for black and white clamp
Also sets sensible pivot default and add a config check around
GenerateProcessor
app/node/color/ociogradingtransformlinear/ociogradingtransformlinear.cpp
app/node/color/ociogradingtransformlinear/ociogradingtransformlinear.h
2022-05-07 19:33:47 +01:00
Thomas Wilshaw 7c23ad0b51 Set default input for the ociobase node 2022-05-06 18:51:35 +01:00
itsmattkc 0775143485 nodes: slightly improve descriptions 2022-05-05 17:30:54 -07:00
itsmattkc 6286b7091c sliders: implement color coding for clarity 2022-05-05 17:29:40 -07:00
itsmattkc 81e2628cbb Merge branch 'master' into pr/1875 2022-05-04 15:04:28 -07:00
itsmattkc d55d9c820f code: use macros for default node functions
Easier to maintain
2022-05-04 11:01:17 -07:00
itsmattkc 50ec381537 remove latent kColorTransformJob types 2022-05-03 18:55:39 -07:00
Thomas Wilshaw e07240cc30 Merge branch 'master' into ocio_node 2022-05-03 18:54:02 +01:00
Thomas Wilshaw abc669fa8e Attempt to fix build issue 2022-05-02 22:04:59 +01:00
itsmattkc 001834cbfa node: implemented bypassing 2022-04-26 15:07:01 -07:00
Thomas Wilshaw 831fe77275 Cleanup and rename OCIO Linear Grading node 2022-04-24 21:03:00 +01:00
itsmattkc 7f0fc1de90 implement color processor job
Refactored code to use a color processor job
2022-04-15 14:03:06 -07:00
itsmattkc 97a210f14b Merge branch 'master' into pr/1875 2022-04-15 13:24:23 -07:00
Thomas Wilshaw 6464bdfd68 Add an OCIO Grading Transform Node 2022-03-13 23:00:00 +00:00
Thomas Wilshaw 6ccebcd988 colormanager: Remove hard coded color space
The hard coded color space was causing custom configs to crash if they
didn't contain that specific color space.

Also sets the default role in the config to sRGB EOTF to keep
consistency with previous behaviour
2022-03-09 12:50:34 +00:00
Thomas Wilshaw 5c2f6a8e86 Mostly complete the display transform node 2022-03-08 16:32:14 +00:00
Thomas Wilshaw 979095d2e0 Get OCIO node groundwork working 2022-03-08 14:40:03 +00:00
Thomas Wilshaw ac070dbc1a Actually init GL renderer 2022-02-01 18:44:08 +00:00
Thomas Wilshaw ff2eac55a5 First attempt at adding OCIO to nodes 2022-02-01 16:12:08 +00:00
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