itsmattkc
b2a3cede2c
renderer: re-use the same opengl instance for all background rendering
...
Previously the OpenGL instance was tied to each render/cache task,
creating and destroying it each time one started and stopped. This was
completely unnecessary since the instance holds no state and can be
shared by all of the render tasks without having to expensively start
a new one.
2020-06-19 17:06:14 +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
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
itsmattkc
71ec148e76
renderer: moved all shader code into one solidified function
...
Makes texture-based optimizations easier when they're all in one place.
2020-06-10 01:54:02 +10:00
itsmattkc
2fc1ccebf7
openglproxy: implemented extra function for loading pre-cached frames into textures
2020-06-09 02:35:41 +10:00
itsmattkc
430561e2ac
sequence: made divider a sequence parameter rather than a viewer parameter
...
Doing this makes the preview resolution an explicit project setting rather
than a temporary UI setting. This will allow more consistency when caching.
2020-06-08 14:41:35 +10:00
itsmattkc
8795e51452
renderer: massive overhaul to move to a vastly simplified threading system
2020-05-15 00:52:45 +10:00
itsmattkc
863ae1b913
a first attempt at a new render system
2020-05-14 14:43:03 +10:00
itsmattkc
65705d580d
renderer: keep frames in vram while paused
...
Saves some GPU cycles when adjusting parameters.
2020-05-08 00:32:02 +10:00
itsmattkc
361a986b79
renderer: added path for generating resized frames from textures
2020-04-22 22:58:00 +10:00
itsmattkc
c9e797abdf
various: conformed frame usages to respect stride
2020-04-22 15:54:47 +10:00
itsmattkc
2f80be437a
node: fixed issue with "taking" values from input tables
...
As opposed to simply leaving all values in the table, nodes can now "take"
values that they use to free up memory (e.g. "taking" input buffers if they're
used to produce an output buffer).
This is a fairly large change, expect regressions.
2020-04-16 23:12:05 +10:00
itsmattkc
a0a7d106dc
mathnode: implemented add/subtract/multiply/divide/power functions
...
Includes implementing combobox UI for the NodeParamViewWidgetBridge.
2020-04-15 01:52:24 +10:00
itsmattkc
a8fbe686e2
openglrenderer: retrieve frame in each worker thread rather than in the proxy thread
...
Since we now have decoders in each thread, we can parallelize by retrieving
frames in each thread as well.
2020-04-11 17:37:00 +10:00
itsmattkc
1aa87cbda6
various: encapsulate all code in the olive namespace to avoid name collisions
...
Large-scale code cleanup. Also adds a license to the top of all files that were
missing it.
2020-04-06 15:29:53 +10:00
itsmattkc
d87b4fde8c
renderer/decoder: use divider at the footage level
...
Optimizes rendering if a divider is being used.
2020-02-27 15:47:08 +11:00
itsmattkc
78daf9e28a
exporter: updated exporter to function with new render system
2020-02-25 20:03:15 +11:00
itsmattkc
faffbb0f38
renderer: re-use already created textures if the images are known not to change
2020-02-25 14:57:49 +11:00
itsmattkc
91f1be90a9
opengl: isolate all functions to one thread
2020-02-03 18:14:58 +11:00