Commit Graph
57 Commits
Author SHA1 Message Date
itsmattkc 6ecdb02fd0 okay maybe not 2020-11-08 00:47:59 +11: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
itsmattkc 991f430cc8 Merge pull request #1155 from sobotka/waveform-updates
Waveform Updates
2020-08-07 20:18:30 +10:00
itsmattkc 662d66ad10 transitions: extended transition logic
General code and functionality improvements. Moved more code out of the
OpenGL backend for portability. Implemented audio transitions.
Implemented basic transition animation curve settings.
2020-07-16 00:36:21 +10:00
itsmattkc ae62750d9d various: fix broken transition creation
It's now possible to create transitions! But they're still broken in
a multitude of other ways so plenty more work to do hahahahahahahahaha
2020-07-14 22:31:11 +10:00
itsmattkc dd7af0e6bd nodes: minor overhaul to functionality
The nodes now have more control over how their accelerated shaders/sample
functions are run, as well as how items are popped off the value tables.
This allows for various optimizations that we didn't have access to before.
2020-06-12 00:54:15 +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 3ef119c0ab removed shaders.qrc
Accidentally got merged in on this branch.
2020-05-06 23:22:49 +10:00
itsmattkc 1ceefb6dba Merge branch 'master' into gizmos 2020-05-06 16:35:40 +10:00
itsmattkc fb625cb76e nodes: removed XML infrastructure 2020-05-06 15:06:37 +10:00
itsmattkc 0d0d35f025 Merge branch 'ire_lines' of https://github.com/ThomasWilshaw/olive into ThomasWilshaw-ire_lines 2020-05-06 00:12:37 +10:00
itsmattkc 74d252c5c0 nodes: use defined categories rather than arbitrary string based 2020-05-05 22:12:15 +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 c387ce1cd7 polygon node: early crude implementation 2020-05-05 00:22:49 +10:00
itsmattkc 544a8855d3 waveform: update for glsl 150 2020-04-29 15:56:46 +10: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
Troy James Sobotka 5dd999b406 First working pass of Waveform
Remove the sum, add some commments, and
make it scale to the full window.

TODO:
 * Hook up CM.
 * Add UI for intensity
 * Add lines at 20% increments, plus under /
    overshoot?
 * Add UI for increments.
2020-04-28 15:06:22 -07:00
Troy James Sobotka f82bd39f0e Minor tweaks
Cleanup.
2020-04-28 15:06:22 -07:00
Troy James Sobotka c0b4cb28e0 Temp waveform work. 2020-04-28 15:06:22 -07:00
itsmattkc e7e895739b Merge pull request #1138 from olive-editor/BrimsonBhin-patch-1
Gaussian Blur: Use straight multiply
2020-04-29 04:52:22 +10:00
itsmattkc ac3f49a845 nodes: moved matrix input on "video input" elsewhere
Rather than plugging a matrix into the video input node, the matrix is now
multiplied by the video input using a math node. This is probably more
sensible from a user perspective.

This also means the renderer is tolerant of texture sizes that are not equal
to the sequence size, however most nodes will downsample the texture to the
sequence size (and if not, it will be downsampled once it is cached). Textures
will still *always* be in reference space and the sequence's format. This seems
like the best compromise between backend and frontend congruity.
2020-04-27 04:11:24 +10:00
BrimsonBhin 0703a5851b Gaussian Blur: Use straight multiply
Results are identical (tested with Olive 0.1.x). Using a straight multiply is faster if the compiler doesn't optimize pow(). It's also safer because with pow(), [the result is undefined if x<0 or if x=0 and y≤0](https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/pow.xhtml).
2020-04-23 22:02:47 -07:00
Simran Brucherseifer 5da9848de7 Upgrade shaders from GLSL 110 to 150 (OpenGL 3.2) 2020-04-22 11:28:33 +02:00
itsmattkc 258f83d5d3 node: fixed bug that failed to load some default values from shader xml 2020-04-22 18:13:53 +10:00
itsmattkc 6f4bf70d3e scope: implemented waveform scope 2020-04-20 22:58:29 +10:00
itsmattkc cb14af326c removed opacity node
This node has been superseded by the math node since it essentially functions
as a multiply.
2020-04-20 17:48:35 +10:00
itsmattkc fa0afb74c8 solid: updated default value to use new syntax
Using ':' instead of ',' should avoid any potential internationalization issues
regarding languages that use ',' for decimals rather than '.'
2020-04-19 00:03:05 +10:00
itsmattkc a93b06b7a2 Revert "solid shader: moved from generator to input category"
This reverts commit 07dfe1c364.
2020-04-16 23:15:19 +10:00
itsmattkc 8656b79319 opacitynode: switch view to percent rather than as a normal number 2020-04-16 14:54:46 +10:00
itsmattkc b4795c0222 blur: merged box and gaussian blurs into one node
While these are two separate blur effects, merging them into one node will
allow quick swapping of blur methods.
2020-04-16 13:17:30 +10:00
itsmattkc 07dfe1c364 solid shader: moved from generator to input category 2020-04-15 02:52:12 +10:00
itsmattkc c538f2a421 solid: fixed erroneous shader reference in XML file 2020-04-04 03:47:34 +11:00
itsmattkc f3290003be colordialog/wheel/gradient: implemented basic UI components for color picking 2020-04-02 13:02:30 +11:00
itsmattkc d427d48ab1 stroke effect: implemented 'inner' option 2020-03-12 12:04:19 +11:00
itsmattkc 4914182206 stroke: fixed duplicate id 2020-02-20 16:38:46 +11:00
itsmattkc 97dadace1f shaders: added stroke shader 2020-02-14 19:13:30 +11:00
itsmattkc 0bee4b2e14 boxblur: added 'repeat edge pixels' parameter 2020-02-14 14:56:09 +11:00
itsmattkc 721ec1fe9b gaussianblur: added 'repeat edge pixels' parameter 2020-02-14 14:52:09 +11:00
itsmattkc d66425c324 prepared gl improvements for merge 2020-02-14 02:35:10 +11:00
itsmattkc 6a47b05ab8 work on oslworker 2020-02-14 02:13:38 +11:00
itsmattkc f616a0d123 ported dip to black transition to external type and reimplemented drop shadow shader 2019-12-18 01:18:31 +11:00
itsmattkc 4e6da87585 ported crossdissolve to external shader 2019-12-17 15:58:16 +11:00
itsmattkc 46b3f9db48 moved alphaover to external file format 2019-12-15 03:41:37 +11:00
itsmattkc ae7c9597e2 ported solid color generator to external shader 2019-12-15 03:07:10 +11: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 fdd7474a99 fixed bugs in the blur shaders 2019-12-15 02:38:55 +11:00
itsmattkc 23905f1eee added external blur files to the shader resource file 2019-12-15 00:38:36 +11:00
itsmattkc b5b6ffa0a1 reimplemented blur shaders with new format xml metadata
These could be reimplemented almost wholesale, however the code has been
cleaned up and documented and the XML metadata has been updated to support
international translations.
2019-12-15 00:37:44 +11:00