Commit Graph
63 Commits
Author SHA1 Message Date
itsmattkc c0d8ff403f nodes: rework so that jobs can be completely deferred
Big optimization requiring a lot of refactoring.
2022-09-24 18:44:59 -07:00
itsmattkc b19730b1f5 nodes: store time with accelerated jobs
Fixes #2031
2022-09-23 02:55:18 -07:00
itsmattkc 22b618da96 mathbase: use size_t for sample counts instead of int 2022-09-16 00:00:39 -07:00
itsmattkc 5ea97f7a64 render: remove alpha request option 2022-07-20 23:14:16 -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 bb0fedabba simplified and optimized samplebuffer 2022-05-09 14:55:51 -07:00
itsmattkc 58c4600d04 nodevalue: begin abstracting qvariant 2022-05-09 13:07:34 -07:00
itsmattkc 601d08ce64 node: change class sent to GetShaderCode 2022-05-07 13:36:44 -07:00
itsmattkc ef046d5ed6 mathbase: don't push sample job if no samples are found
Not sure what this code was supposed to do, but this doesn't look right at all
2022-05-06 09:12:22 -07:00
itsmattkc d55d9c820f code: use macros for default node functions
Easier to maintain
2022-05-04 11:01:17 -07:00
itsmattkc 5f13a83009 footage: support multi-layered images
Fixes #982
2022-05-04 09:27:34 -07:00
itsmattkc 028d2fd60c nodes: optimize job infrastructure
Rework traversing so that jobs are only resolved when they are used. This should provide moderate optimize to the traversing process.
2022-05-03 11:19:21 -07:00
itsmattkc 001834cbfa node: implemented bypassing 2022-04-26 15:07:01 -07:00
itsmattkc a8bb3a9880 opengl: replace all texture2Ds with texture
No idea how this passed through the cracks but oh well
2022-03-24 09:30:53 -07:00
itsmattkcandThomas Wilshaw a4056d8454 Upgrade to OpenGL ES 3.2 (#1879)
* upgrade to opengl 3.2

* cornerpin: no need for hack

* renderer: Update OCIO shader language to ES 3.0

Co-authored-by: Thomas Wilshaw <thomaswilshaw@gmail.com>
2022-03-20 11:17:18 -07:00
itsmattkc 4476a8d858 consolidate cpu optimizations into single header 2022-01-22 17:15:23 -08:00
itsmattkc d88b7f35ce [skip ci] revise comment in math node 2022-01-07 16:21:39 -08:00
itsmattkc fbed81bb98 math: ensure alpha remains in 0.0-1.0 range 2022-01-07 16:16:59 -08:00
itsmattkc e12e5db760 try sse wrapper for neon instructions 2021-10-25 12:30:47 -07:00
itsmattkc 55e87bae95 mathnode: fix macro issue 2021-10-18 21:37:36 -07:00
itsmattkc 382d464952 math: fix linker error 2021-10-16 10:39:49 -07:00
itsmattkc a064ce0c94 mathnodebase: use func ptr instead of switch inside loop 2021-10-14 00:49:08 -07:00
itsmattkc 1eb5e44502 use sse instructions for volume/math 2021-10-13 17:15:47 -07:00
itsmattkc 8a4e992214 minor formatting 2021-10-13 17:00:43 -07:00
itsmattkc 67c7c71ca2 implemented "value hints" for choosing output values to use 2021-09-17 20:56:53 -07:00
itsmattkc b07bccb7dc nodes: revert to single output 2021-09-07 22:01:36 -07:00
itsmattkc a0706a78d8 nodes: implemented core of manual table value selection 2021-09-07 15:27:07 -07:00
itsmattkc 2d17173a38 mathbase: other corrections for gl es 2.0 2021-06-07 00:58:04 +10:00
itsmattkc 8d18a8d9d8 mathbase: replace texture() calls 2021-06-07 00:50:33 +10:00
itsmattkc 445d276cd0 nodes: further optimized merge node to passthrough RGB blend textures 2021-04-23 11:01:08 +10:00
itsmattkc 77d4b18a60 updated copyright year for 2021 [skip ci] 2021-04-17 18:56:50 +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 fb410e7c96 use vectors for sample buffers rather than raw ptr arrays 2021-03-17 11:54:14 +11:00
itsmattkc 81c1922911 use strings to connect nodes
This makes the node system somewhat more high-level with the intent of making
working with them far more flexible and stable. By making the architecture more
abstracted, it becomes far less rigid which should allow us to do even more
with it and make it much less crash prone.
2021-02-09 15:48:37 +11:00
itsmattkc 181235f6ce began new infrastructure
Yep, this is another one of my "famous" sweeping rewrites. Expect things to break.

Goals for this are:
- Greatly simplify node connections (particularly with arrays) so the code requires less maintenance/is more stable
- Redesign node structure to address issues where UI would stall for lengthy periods of time
- Less reliance on shared ptrs/greater reliance on QObject system for inheritance/memory management
- General code cleanup and improvements
2021-01-05 11:20:38 +11:00
itsmattkc 8a869d0393 use QObject property system now that i know how to signal them 2020-11-27 10:10:24 +11:00
itsmattkc a6d382f4d4 further improved gizmos 2020-11-22 18:21:24 +11:00
itsmattkc 54cd244801 nodes: added distort nodes
Adds nodes for cropping and transforming
2020-11-22 11:34:37 +11:00
itsmattkc dcf56781b4 removed version macros from shaders and add automatically in compile step 2020-11-19 14:36:05 +11:00
itsmattkc 75d4cd899b use hardcoded namespace
The macro defined namespaces confused the hell out of lupdate and more or less broke translations permanently. Looks like the only way we can do it is to have a hardcoded namespace, which goes against my instinct, but honestly how likely is it that we'll change the namespace anyway (I guess forks might want to do it, but that's their problem ;) )
2020-11-17 20:24:42 +11:00
itsmattkc d241090a9f finally updated the copyright year 2020-11-17 20:13:22 +11:00
itsmattkc 15a29288aa added Q_OBJECT macro to classes that were missing it 2020-11-17 19:13:16 +11:00
itsmattkc 1b9bf6d92c switched many QLists for QVectors
Minor optimization
2020-11-16 16:17:43 +11:00
itsmattkc 0429e70fe0 merged all drawing functions into a single shader processing function 2020-11-10 15:50:13 +11:00
itsmattkc f9af69ca81 mathbase: use sample indices and copy rather than zeroing out 2020-09-21 04:15:52 +10:00
itsmattkc 6309b8fbb7 math: fixed power function
Corrected shader code and fixed bug in widget bridge that reported an
incorrect index.
2020-07-17 12:33:28 +10:00
itsmattkc ab74c1579e mathnode: temporarily disable identity matrix detection
This code was faulty and needs extra functionality elsewhere to
actually work correctly.
2020-06-19 02:44:26 +10:00
itsmattkc 282824ac49 volume: base off math node
Shares code with math node rather than having it twice.
2020-06-13 18:13:07 +10:00
itsmattkc af5097bf5f nodes: revert shader ID to string
Much easier to manage this way and fixes a compile issue on several
platforms.
2020-06-12 16:02:29 +10:00