itsmattkc
53a2956350
cache: added cache task that can be manually invoked
2020-05-15 18:36:02 +10:00
itsmattkc
7c2280944b
timeruler: reworked and improved cache status
2020-05-15 16:15:24 +10:00
itsmattkc
2039067fdc
renderer/viewer: fixed playback and live updates from value changes
2020-05-15 15:02:30 +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
c5dfddff0d
renderer: weaved out various unnecessary InvalidateVisible functions
2020-05-13 23:04:15 +10:00
itsmattkc
992321a9a5
viewer: don't update if gizmos haven't actually changed
...
Minor optimization that prevents unnecessary repaints of the viewer viewport.
2020-05-13 18:26:21 +10:00
itsmattkc
6ad5076160
viewer: added debug message if playback queue falls behind
2020-05-10 04:05:08 +10:00
itsmattkc
20ef7b1c21
viewer: fixed issue that would cause playback queue to stall
2020-05-09 16:21:03 +10:00
itsmattkc
00248de49c
viewer: improved frame queue and linked window
...
Improves minor issues with frame queue implemented in earlier commit. Also links
ViewerWindow with the queue and a separate timer to make it much smoother.
2020-05-09 16:02:18 +10:00
itsmattkc
8c4c6ba2a5
viewer: queue frames during playback
...
Rather than have to decode EXRs and display them in the span of one frame,
decode into memory ahead of time so that they're ready for upload. Has the
potential to speed up playback by about 5-6x.
2020-05-09 04:47:10 +10:00
itsmattkc
8362a68aa9
viewer: factor visibility into audio playback
2020-05-08 02:57:59 +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
5b956729b3
gizmos: work towards gizmos in the matrix transform node
2020-05-07 18:12:18 +10:00
itsmattkc
32eb28d05e
Merge branch 'master' into gizmos
2020-05-07 14:42:11 +10:00
itsmattkc
3436740d23
gizmos: consolidated input param dragging code into reusable class
2020-05-07 14:41:50 +10:00
itsmattkc
d02e9090b9
implemented core gizmo interaction functionality
2020-05-07 04:45:27 +10:00
itsmattkc
373eeaeacd
renderer: when invalidating visible, kick the workers into emit mode
2020-05-07 01:29:05 +10:00
itsmattkc
c61adbf2a2
videorenderer: if an InvalidateVisible() signal comes through, cancel the queue
...
Optimization that frees up the GPU as quickly as possible when the user starts
making changes that may require quick feedback.
2020-05-07 00:56:16 +10:00
itsmattkc
67854a2c97
gizmos: use scale instead of matrix transform
...
Improves appearance of gizmos lines and ensures other controls are drawn in
UI dimensions rather than texture dimensions.
2020-05-06 17:45:44 +10:00
itsmattkc
c387ce1cd7
polygon node: early crude implementation
2020-05-05 00:22:49 +10:00
itsmattkc
b6696f3161
Merge branch 'master' into gizmos
2020-05-04 13:12:11 +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
cfc5ce24a3
Merge branch 'master' into gizmos
2020-05-02 17:06:49 +10: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
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
1cca9de7c5
gizmos: implemented pathway for node to draw on the viewer
2020-04-27 04:34:36 +10:00
itsmattkc
53ae25a7cb
nodes: optimize node graph changes by only updating from inputs that changed
...
A huge optimization that ensures only the parts of a node graph that have
changed get pushed to the renderer. For thread-safety, the node graph is
copied elsewhere so that users can make changes asynchronously and the graph
can update when its threads are ready. Up until now, if an input value changed,
every node's values would be re-copied, or worse, if a connection was changed,
the entire graph would be recopied. This has been negligible in testing since
we've been largely testing with small graphs, but for massive projects, it's
important that this be as optimized as possible.
2020-04-26 04:16:15 +10:00
itsmattkc
acef99eb17
renamed viewerglwidget to viewerdisplaywidget
...
Initially this class was named to provide the possibility of supporting other
APIs, however this abstraction has been done with a base class instead.
2020-04-25 14:46:30 +10:00
itsmattkc
c7de93cc5d
viewer/opengl: minor code improvements
2020-04-24 15:14:20 +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
7768925826
manageddisplay: started base class for widgets that are managed
2020-04-24 00:17:32 +10:00
itsmattkc
1f34b89950
viewer: removed unnecessary debug line
2020-04-23 18:06:49 +10:00
itsmattkc
6c1e90665f
colormanagement: moved from passing DVL strings everywhere to a consolidated ColorTransform struct
2020-04-23 01:17:58 +10:00
itsmattkc
197e60b6c3
export: show main color spaces rather than DVL chain
2020-04-22 23:34:23 +10:00
itsmattkc
c9e797abdf
various: conformed frame usages to respect stride
2020-04-22 15:54:47 +10:00
itsmattkc
ccb02d30aa
colormanager: implement default config
2020-04-22 05:08:33 +10:00
itsmattkc
ab262092a6
viewer: removed unused debug line
2020-04-21 19:36:37 +10:00
itsmattkc
05eae1e28a
audio: don't use a shared QIODevice
...
This system was kind of janky anyway. It makes more sense ultimately for the
audio management classes to contain the file handle rather than the renderer.
2020-04-21 17:55:55 +10:00
itsmattkc
0ced48d4df
histogram: implemented color management
2020-04-21 01:59:06 +10:00
itsmattkc
6f4bf70d3e
scope: implemented waveform scope
2020-04-20 22:58:29 +10:00
itsmattkc
84e73395ff
panels: implement a small margin on all panels to ensure the focus border is always visible
2020-04-20 18:06:50 +10:00
itsmattkc
2849ae210c
timeline/viewer: reimplemented "play in to out" and "loop"
2020-04-19 17:22:32 +10:00
itsmattkc
410f3d25dc
fixed menu bugs introduced in f2bff5f150
...
Turns out setting a QMenu parent *not* in the constructor leads to very strange
behavior. All parents are now set in the constructor.
2020-04-19 16:19:08 +10:00
itsmattkc
f2bff5f150
menu: ensure all addMenu() calls are followed with setParent() calls
...
Ensures memory taken by creating a new menu is freed.
2020-04-19 01:26:54 +10:00
itsmattkc
d3b71e6576
nodes: color management when setting color parameters is now preserved
2020-04-18 17:43:37 +10:00
itsmattkc
f73c41d3fa
various: implemented multiple project support
...
This required various changes to various parts of the infrastructure (mostly
using paths to finding the "root project" of any given object throughout).
Now theoretically infinite projects can be opened and accounted for at any
given time.
2020-04-18 01:50:47 +10:00
itsmattkc
77c0db55a5
viewer: implemented display of title/action safe margins
2020-04-17 18:59:17 +10:00
itsmattkc
aac47ba776
viewer: re-queue video renderer even when beyond the length
...
Ensures video renderer always renders where the playhead is.
2020-04-13 13:19:08 +10:00
itsmattkc
7bc7b6098b
ui: moved remaining QMenus to our Menu class
...
Mainly to take advantage of Menu's specific styling on certain platforms to
keep a consistency.
2020-04-08 00:46:30 +10:00