summaryrefslogtreecommitdiffhomepage
path: root/pose-widget
AgeCommit message (Collapse)Author
2017-07-20pose-widget: fix Qt use-after-freeStanislaw Halik
Due to Qt's implicit sharing, something goes wrong when calling QImage::constBits(). It's likely related to to multithreading. Strangely enough, `constBits()' shouldn't perform a copy of the image according to Qt docs. While here, remove the "offset" defensive coding. Also, use a constant depth as to reduce confusion.
2017-07-18pose-widget: fix buildStanislaw Halik
2017-06-30pose-widget: optimize CPU usage slightlyStanislaw Halik
CPU usage of an empty tracker loop fell reliably from 1% to .9%.
2017-06-18minor tweaks onlyStanislaw Halik
2017-05-12minor fixes onlyStanislaw Halik
2017-05-10pose-widget: add empty space to prevent out-out-bounds writesStanislaw Halik
2017-05-10pose-widget: projected pixel overflow isn'n an issueStanislaw Halik
2017-05-01pose-widget: catch 90 deg oblique rotation soonerStanislaw Halik
2017-04-29cv, pose-widget: don't premultiply alphaStanislaw Halik
It doesn't improve perf.
2017-04-20pose-widget: fix buildStanislaw Halik
2017-04-18many: use std::f{max,min} for floating-point valuesStanislaw Halik
2017-04-18pose-widget: also compute alpha in the loopStanislaw Halik
2017-04-18pose-widget: check area for invalid denomStanislaw Halik
The denom check is a magic number otherwise.
2017-04-17pose-widget: iterate over BGRStanislaw Halik
2017-04-17pose-widget: interpolate next in world coordinate spaceStanislaw Halik
The next value was chosen in view space.
2017-04-17few widgets: use repaint() for no event loop overheadStanislaw Halik
The Qt event loop overhead formed a decent amount of total CPU usage. `repaint()' is a direct call.
2017-04-17cv/video-widget, pose-widget: use premultiplied argb32 surfaceStanislaw Halik
2017-04-12pose-widget: fix some breakage, forgot what it wasStanislaw Halik
2017-04-06pose-widget: avoid condition variable overheadStanislaw Halik
It's busy-looping on Windows.
2017-04-06pose-widget: prevent races and serial executionStanislaw Halik
We actually need to use "mtx" with the condition variable and copy the data to the worker thread's stack. Also allow for synchronous pose update, for tracking stoppage.
2017-04-06pose-widget: rename unit and headerStanislaw Halik
2017-03-29pose-widget: reduce latencyStanislaw Halik
- project on a separate thread - use Qt's native ARGB32 - use double buffering - more fine-grained locks
2017-03-28start renaming internal macros as OPENTRACK_* to OTR_*Stanislaw Halik
2017-03-27cmake: rename project's function prefixStanislaw Halik
It's not annoying having to type it anymore. Also "otr_boilerplate" -> "otr_module".
2017-03-22[COVERITY] pose-widget: fix integer math where fpu was meantStanislaw Halik
2017-02-27remove unfinished polish translation filesStanislaw Halik
Polish speakers typically know English well enough and translations are awkward.
2017-02-21modules: add .ts filesStanislaw Halik
2016-12-28pose-widget: qrc init needed only for static librariesStanislaw Halik
cf. http://doc.qt.io/qt-5/resources.html#using-resources-in-a-library
2016-12-28pose-widget: qrc initializer needn't be exportedStanislaw Halik
It's only used in _init inside that library.
2016-12-28pose-widget: fix resources in libraryStanislaw Halik
They must be initialized at top namespace
2016-11-18pose-widget: avoid impl namespace clashStanislaw Halik
2016-11-12pose-widget, logic/tracker: adjust euler helpers usageStanislaw Halik
2016-11-05delete empty .tsStanislaw Halik
2016-11-04modules: add autogenerated translation filesStanislaw Halik
2016-11-03move simple-mat from logic to compat to simplify dependenciesStanislaw Halik
2016-10-11pose-widget: make octopus more slimStanislaw Halik
It looked weird as such a fatso forgotso.
2016-10-05api, cv, gui, pose-widget: remove window visibility checkStanislaw Halik
Causes freezes on multiple displays. Reported and tested in realtime by: @kzfr
2016-09-27pose-widget: larger octopus resolution. simplify code.Stanislaw Halik
2016-09-21many: remove compat/pi-constant.hppStanislaw Halik
With -D_USE_MATH_DEFINES MSVC defines the standard M_PI and friends. Since this preprocessor definition is now always passed as part of the build system for MSVC. We can use M_PI as if on a mission.
2016-08-12all: rename modules s#^opentrack-##. and opentrack -> apiStanislaw Halik
Adjust usages.
2016-08-10pose-widget, gui: allow for drawing regardless if window visibleStanislaw Halik
2016-08-08gui: make octopus pitch the right wayStanislaw Halik
2016-07-31pose-widget, tracker/{aruco,pt}: check more often for widget visibilityStanislaw Halik
It looks weird otherwise.
2016-07-25logic, pose-widget: fix following simple-mat moveStanislaw Halik
2016-07-25api/simple-mat: move to logicStanislaw Halik
Change causes rebuilds of all modules otherwise.
2016-07-23pose-widget: use common code for euler -> rmatStanislaw Halik
2016-07-23pose-widget: don't display when window hiddenStanislaw Halik
When the opentrack window isn't displayed (minimized or hidden by some other window), don't bother with refreshing the image.
2016-07-23pose-widget: don't do barycentric lookup twiceStanislaw Halik
In the affine transformation (aka the pose widget) of The Octopus we use barycentric coordinates of two triangles making up The Octopus rectangle. Triangles are symmetrical. Take advantage of the symmetry (no perspective transform applied) and take barycentric coordinates only once.
2016-07-18cmake: adjust paths for main executable dependenciesStanislaw Halik
2016-05-26many modules: trivial cleanups onlyStanislaw Halik
- Remove "this->" where it's not needed. Possibly rename shadowed vars. - Don't reload the options bundle manually since `options::opts' exists for that very reason. - Remove '^ \+$' whitespace - :retab