itsmattkc
f6760386ce
renderer: improved handling of pixel aspect ratio and footage cache
2020-08-21 14:43:13 +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
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
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
0a9ad8f235
opengltexture: implemented linesize fields whenever uploading data to a texture
2020-04-22 15:23:29 +10:00
itsmattkc
2eb03bf386
various: removed constructor.h include
2020-04-14 00:53:25 +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
53106e1847
opengl: remove locks from texture
...
These are not used anymore and are therefore unnecessary.
2020-02-15 14:02:00 +11:00
itsmattkc
f8839e74de
ensure texture is not copied in one thread while it's read in another
...
This seems to cause issues in the rendering pipeline, so this commit never lets
a texture copy and read occur at the same time.
2020-01-02 06:00:21 +11:00
itsmattkc
61c60e00d6
various small code cleanups and improvements
...
Largely refactoring work to make the code somewhat nicer to work with.
2019-12-26 19:00:08 +11:00
itsmattkc
4cb6659dbb
cleaned up texture and texture reading classes
2019-12-21 21:30:42 +11:00
itsmattkc
401de26733
updated other classes for the previous commit's file moving
2019-12-21 20:07:14 +11:00
itsmattkc
3d3e40d431
minor code cleanup and fixed opengl thread desync issue
2019-12-11 03:20:23 +11:00
itsmattkc
91c7d8aa4d
implemented texture cache for performance
...
Creating and destroying textures is a slow process, particularly when we can
re-use them throughout most of the render chain. We now keep them stored so
they can be re-used which improves performance substantially.
2019-12-10 14:53:47 +11:00
itsmattkc
3dc563b697
removed double buffered textures
...
These functions never ended up getting used, and have the potential to become
confusing in implementation.
2019-12-09 23:59:00 +11:00
itsmattkc
d5b1768d70
reimplement Q_DISABLE_COPY_MOVE for full compatibility with versions < 5.13
...
I was under the impression Q_DISABLE_COPY_MOVE was a much older function than
it is. Since we historically target 5.6 and these functions are small
convenience functions, I just implemented them in the actual codebase.
2019-11-24 14:57:57 +09:00
itsmattkc
663ae56ac4
more coherent render threading for now
...
Once again, conceptually this system should work, however it does not seem to
be the most efficient and it wouldn't surprise me if the multithreading was
eventually upgraded to an even more coherent system one day. However for
"core principles" this should be fairly decent.
2019-11-03 04:05:43 +11:00
itsmattkc
c14125e640
work towards rewriting the render infrastructure
...
Mostly foundational work and re-implementing older code in a smarter way
(i.e. context creation code should be slightly faster than it was before)
2019-11-01 22:58:02 +11:00
itsmattkc
429514b1fd
separation of previous renderer into base and derivation complete
...
The previous iteration was fairly OpenGL-heavy. It's now been separated into
a base class that is OpenGL independent and a derived class that is
OpenGL-based. Over time this should allow for portability away from OpenGL
if necessary.
2019-11-01 12:58:38 +11:00
itsmattkc
77bcb70dac
started porting renderer to new portable form
2019-10-31 19:14:58 +11:00