Commit Graph
50 Commits
Author SHA1 Message Date
itsmattkc 487cd166d7 start implementation of multicam panel 2022-09-21 13:16:19 -07:00
itsmattkc 5ef56c8047 ui: use QOpenGLWindow instead of QOpenGLWidget for all panels 2022-06-12 10:28:15 -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 81e2628cbb Merge branch 'master' into pr/1875 2022-05-04 15:04:28 -07:00
itsmattkc 91b761693b code: use config macro
Macro is much easier to use and more readable
2022-05-04 09:50:34 -07:00
itsmattkc 3c13e32620 further implement colortransformjob 2022-04-26 13:13:28 -07:00
itsmattkc c127bebae4 renderer/viewer: more flexibility regarding alpha association 2021-07-23 17:08:42 -07:00
itsmattkc ae3393f031 opengl: use shared contexts and downgrade to ES 2.0 (BIG CHANGE)
If you run into new OpenGL issues, this is likely the commit that caused it.
I've tested this on as many systems as I have access to (including AMD, Apple,
Intel, and NVIDIA GPUs with a mixture of Windows, Linux, and macOS) and it
appears to work fine, however we all know how unpredictable GPUs can be.
This should help increase GPU performance and compatibility.

Squashed commit of the following:

commit fa3c0ac7c469aebe2941a803736bdc06cdd5a2d8
Author: itsmattkc <itsmattkc@gmail.com>
Date:   Thu May 27 13:17:44 2021 +1000

    viewer: updated pixel sampling for shared contexts

commit 9334261da235f09cb67b193c5bb6169abd7a95f7
Author: itsmattkc <itsmattkc@gmail.com>
Date:   Thu May 27 13:12:39 2021 +1000

    pixelsampler: show color preview box

commit dacd9be6971c5c0312ae45c8db349d47910a80dd
Author: itsmattkc <itsmattkc@gmail.com>
Date:   Thu May 27 12:43:32 2021 +1000

    renderer: interlace on GPU

commit 074cea06cb87e9fdc4e8ea6b09587be6df296057
Author: itsmattkc <itsmattkc@gmail.com>
Date:   Thu May 27 12:43:14 2021 +1000

    renderer: added texture clear option

commit 5d4f86b4cf1b1dcd3fb8e8c854ffa7f6fb8ca346
Author: itsmattkc <itsmattkc@gmail.com>
Date:   Thu May 27 12:42:12 2021 +1000

    renderer: updated scopes for shared textures

commit 6fad96358d189874cf45f7887b7e13cc2b1603c4
Author: itsmattkc <itsmattkc@gmail.com>
Date:   Thu May 27 11:42:05 2021 +1000

    opengl: fixed edge case

commit 1a19ffb53703ac6f30ed210f6d8eb5fc4b7b0f2d
Author: itsmattkc <itsmattkc@gmail.com>
Date:   Thu May 27 10:56:13 2021 +1000

    opengl: fix deinterlace shader

commit 085961aa39cca90ebf51b919a78ef07a4882f0e1
Author: itsmattkc <itsmattkc@gmail.com>
Date:   Thu May 27 10:08:40 2021 +1000

    opengl: downgrade to ES 2.0

    With half-float/float/3D extensions, this should be doable

commit ea1ab45cbcf5e017dfd0d8f28b231ff3255dfe92
Author: itsmattkc <itsmattkc@gmail.com>
Date:   Thu May 27 10:06:59 2021 +1000

    renderer: fixed mutex deadlock

commit ecc2f08b16f03421870c5b61625ecd26f2f96582
Author: itsmattkc <itsmattkc@gmail.com>
Date:   Wed May 26 21:28:13 2021 +1000

    opengl: fixed shared contexts

commit 261c689ea8089463155cf11b9ab15aa3f879f439
Merge: bfd4338a 91c88b1c
Author: itsmattkc <itsmattkc@gmail.com>
Date:   Wed May 26 19:52:00 2021 +1000

    Merge branch 'master' into shared-contexts

commit bfd4338aaa3b09b6fbb7717c637face8d5490721
Author: itsmattkc <itsmattkc@gmail.com>
Date:   Wed May 26 18:52:38 2021 +1000

    viewer: remove debug line

commit 45868d8a396181bf81c24b92a1ac5ce9ffed3426
Merge: 642f8e9d d0bd5e21
Author: itsmattkc <itsmattkc@gmail.com>
Date:   Wed May 26 17:21:48 2021 +1000

    Merge branch 'master' into shared-contexts

commit 642f8e9df7d7d1a9ed4202d428f4d968ff668552
Merge: 861e5b89 4de0a727
Author: itsmattkc <itsmattkc@gmail.com>
Date:   Wed May 26 17:01:38 2021 +1000

    Merge branch 'master' of https://github.com/olive-editor/olive into shared-contexts

commit 861e5b89a38c281897dc44b20e3587d39c4f808c
Merge: 472598a7 ef31c3fb
Author: itsmattkc <itsmattkc@gmail.com>
Date:   Wed May 26 14:28:21 2021 +1000

    Merge branch 'master' into shared-contexts

commit 472598a740a095aa43a4aad5680dd5abcf453a4c
Author: itsmattkc <itsmattkc@gmail.com>
Date:   Fri May 14 16:29:35 2021 +1000

    attempt at sharing contexts
2021-05-29 20:02:45 +10:00
itsmattkc 4b58d55d90 scope: ensure texture is updated from channel count too
Fixes #1610
2021-05-07 16:26:02 +10:00
itsmattkc 77d4b18a60 updated copyright year for 2021 [skip ci] 2021-04-17 18:56:50 +10:00
itsmattkc ce0290c762 scopebase: handle texture creation/destruction better 2021-04-16 12:06:58 +10:00
itsmattkc abe28f81bf makeCurrent when destroying ManagedDisplayWidgets
Fixes #1555
2021-04-08 18:59:04 +10: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 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 e2010dde83 made formal QtUtils class 2020-11-17 09:42:36 +11:00
itsmattkc 0d0766e4fb improved render channel count system 2020-11-15 22:16:40 +11:00
itsmattkc ee5307336e re-implemented alpha assoc/deassoc when color managing 2020-11-15 10:41:29 +11:00
itsmattkc 8776bb9c4a finished upgrade to ocio v2 2020-11-12 15:36:29 +11:00
itsmattkc 3c1ac3eeba upgraded to ocio v2 2020-11-11 21:53:24 +11:00
itsmattkc 0429e70fe0 merged all drawing functions into a single shader processing function 2020-11-10 15:50:13 +11:00
itsmattkc 1d61f89920 large scale renderer rework
- Abstracts all OpenGL functionality including UI objects
- Cleans up several rendering codepaths
- Improves threading functionality
- Removes old code and problematic functions
2020-11-10 11:24:51 +11:00
itsmattkc 6ecdb02fd0 okay maybe not 2020-11-08 00:47:59 +11:00
itsmattkc 83cefbd7c7 uhh yeah this might be fubar 2020-11-07 22:44:27 +11:00
itsmattkc aa31f8ac97 fixed shadowed parameter 2020-08-07 22:46:07 +10:00
itsmattkc e45174cf51 Merge branch 'histogram-updates' of https://github.com/sobotka/olive into sobotka-histogram-updates 2020-08-07 20:32:35 +10:00
Troy James Sobotka 80badaa5a8 Waveform Fixes and Modifications
Fixes:
 * Values exceeding the encoded range.
   Future may account for a certain range
   above and below current values.
 * Minor calculation problem that prevented
   the above fix from working properly.
 * Streamlined the shader code.
 * Add a vertex shader to handle the scaling.
 * Use the viewport resolution as the scaled
   version to save performance.
2020-05-19 00:13:13 -07:00
Troy James Sobotka 6ebe0084a3 Implement Histogram
Basic pass at histogram. Uses a power based
scale compared against the total pixel count.
Probably needs a UI toggle to flip lines on
and off as the text and lines in OpenGL are
a large cycles sucker. Could be likely much
faster when migrated to a geometry shader
approach. Uses the scaled viewport resolution
to increase performance as much as possible.
2020-05-19 00:07:34 -07:00
itsmattkc 721f6a79b4 mild conform to the rest of the code 2020-05-06 00:22:43 +10:00
Thomas Wilshaw 1e81969fca Waveform fixes
- Due to a floating point division error not all the bars on the waveform were
  being drawn.
- Fix ratio in the fragment shader
2020-05-05 11:29:15 +01:00
itsmattkc 51c896ed7e scopes: moved all shared code to a base class to easily add more scopes 2020-05-05 02:41:16 +10:00
itsmattkc 2b1640ac04 frame/texture: use dividers when allocating buffers
Allows render pipeline to know the "real" and "simulated" resolution of a
divided buffer.
2020-05-04 01:08:46 +10:00
itsmattkc 9335815d20 waveform: ensure waveform updates on null buffers 2020-05-01 14:20:35 +10:00
itsmattkc ba94aa0b22 fixed some float typing for msvc build 2020-04-29 18:43:00 +10:00
itsmattkc dfedcb97b2 waveform: use qfontmetrics macro for version compatibility 2020-04-29 15:56:24 +10:00
Troy James Sobotka 949e43cada Update IRE increments
Move to 10% increments.
2020-04-28 15:59:40 -07:00
Troy James Sobotka c06bdc5eac Update flourishes
Centre and align text.
2020-04-28 15:39:16 -07:00
Troy James Sobotka 4af10b2b5c Update Waveform Output
Updates:
 * Added IRE text on 20% increments
 * Added waveform lines that work
 * Scaled waveform to a subsection of the surface
2020-04-28 15:06:22 -07:00
Troy James Sobotka b9a62eb1aa Add lines
Adding waveform lines. Still requires scaling to
fit in arbitrary range.
2020-04-28 15:06:22 -07:00
itsmattkc 69d399105a manageddisplaywidgets: fixed issue that caused buffers to be drawn on the main window 2020-04-29 01:24:21 +10:00
itsmattkc 3070aa7e40 waveformscope: convert buffers to DVL before drawing the waveform 2020-04-29 00:36:55 +10:00
itsmattkc 61dd75a2ed scopes: only update if visible
Updating scopes can require heavy processing so we limit updates to only
when the scope is visible
2020-04-28 23:55:40 +10:00
itsmattkc ad419754a9 waveformscope: fixed double free on close 2020-04-28 17:40:22 +10:00
itsmattkc 4906bb7d53 scopes: don't use shared context
OpenGL shared contexts (through Qt at least) seem to be buggy. Scopes have been
shifted to a non-shared approach as a result.
2020-04-28 17:08:52 +10:00
itsmattkc 8c44f8d03d viewer/various: split off color management into separate base class
Also moves scopes to said base class.
2020-04-24 03:45:07 +10:00
itsmattkc 1bad7e9b11 waveformscope: pass viewport in as uniform 2020-04-23 23:28:57 +10:00
itsmattkc 0ced48d4df histogram: implemented color management 2020-04-21 01:59:06 +10:00
itsmattkc bdb13e88f5 histogram: implemented histogram widget 2020-04-21 01:29:08 +10:00
itsmattkc 6f4bf70d3e scope: implemented waveform scope 2020-04-20 22:58:29 +10:00