You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 47874b3
Browse filesBrowse the repository at this point in the historyBrowse files
if (std::max(mBackend->mScreenWidth, mBackend->mScreenHeight) * factor > mBackend->mMaxRenderSize) {
647
647
GPUError("Screenshot not taken: requested render size %u x %u (window x FSAA x screenshot scale) exceeds the maximum size %u x %u", mBackend->mScreenWidth * factor, mBackend->mScreenHeight * factor, mBackend->mMaxRenderSize, mBackend->mMaxRenderSize);
648
648
mCfgC.requestScreenshot = false;
649
-
mCfgC.animateScreenshot = 0;
649
+
mCfgO.animateScreenshot = 0;
650
650
}
651
651
}
652
-
constbool animateScreenshot = mCfgC.animateScreenshot && mAnimate; // Copy, the animation resets animateScreenshot in its last frame
652
+
constbool animateScreenshot = mCfgO.animateScreenshot && mAnimate; // Copy, the animation resets animateScreenshot in its last frame
653
653
constbool screenshotFrame = mCfgC.requestScreenshot || animateScreenshot; // Also for the mix pass (animateTime >= 0), which must use the same render size
voidSaveGLPos(); // Camera position to mCfgC.glPosFile
196
+
voidSaveGLPos(); // Camera position to mCfgO.glPosFile
196
197
voidLoadGLPos();
197
-
voidSaveGLAnimation(); // Animation path to mCfgC.glAnimationFile
198
+
voidSaveGLAnimation(); // Animation path to mCfgO.glAnimationFile
198
199
voidLoadGLAnimation();
199
200
voidtakeScreenshot();
200
201
voidrunAnimation(); // Starts the animation if it has enough points
@@ -207,12 +208,11 @@ class GPUDisplay : public GPUDisplayInterface
207
208
voidresetAnimation();
208
209
voidremoveAnimationPoint(int32_t i = -1); // -1: the selected one, the last one if none is selected
209
210
voidStopAnimation(); // Ends a running animation, camera and settings stay as they are; for changed settings (checkAndApplyConfigChanges), scene reset, changes of the animation points
210
-
voidsetCameraFromAnimationPoint(const animationVector& p); // Camera stored in the point, as the animation shows it there
211
211
voidselectAnimationPoint(int32_t i); // -1: none, otherwise also loads its light settings and camera
212
212
voidsetAnimationPointsFromGUI(const GPUDisplayMultiSliderValue& points); // New times from the Qt GUI: reorders the points, selection
213
213
voidupdateAnimationPointsGUI(); // Range end of the GUI multi slider: last time + animationDelay, progress 0 without animation
214
214
voidanimationPointValues(const animationVector& p, int32_t mode, constfloat* last, float (&vals)[8]); // The 8 interpolated values of the point in this animation mode, angles / quaternion continuous to the values of the previous point (last, nullptr if none)
215
-
voidanimationViewMatrix(float (&vals)[8], int32_t mode, hmm_mat4& viewMatrix) const; // Camera of interpolated / stored animation values (v[1..8]), as animateCamera
215
+
voidanimationViewMatrix(float (&vals)[8], int32_t mode, hmm_mat4& viewMatrix) const; // Camera of interpolated / stored animation values (vals of animationPointValues), as animateCamera
BeginHiddenConfig(GPUDisplayOptions, options) // Display options without command line option, saved and reset with the other settings (console saveSettings / reset)
AddVariable(rotateModel, bool, false) // Rotate the model instead of the camera, like holding RCTRL (set in the Qt GUI)
36
33
AddVariable(rotateAroundZ, bool, false) // Rotate the TPC around the beamline, like holding RALT (set in the Qt GUI)
37
34
AddVariable(filterMacroCustom, std::string, "") // Code of the custom track filter ROOT macro (trackFilter = filterMacros.size() + 1), set in the Qt GUI
38
-
AddVariable(mscreenShotName, std::string, "screenshot") // Name of screenshot and animation frame files, followed by numbers
35
+
AddVariable(mscreenShotName, std::string, "screenshot") // Name of screenshot and animation frame files, followed by numbers
39
36
AddVariable(glPosFile, std::string, "glpos.tmp") // File for saving / loading the camera position
40
37
AddVariable(glAnimationFile, std::string, "glanimation.tmp") // File for saving / loading the animation path
41
38
AddVariable(guiDarkMode, int8_t, -1) // Dark mode of the Qt GUI, -1 = not yet set: the GUI reports the system scheme when it starts
42
39
AddVariable(guiScale, float, 1.f) // Scale factor of text and elements of the Qt GUI (on top of the system scaling), Ctrl + mouse wheel / Ctrl + 0 in the GUI
43
-
AddVariable(showConsole, bool, false) // Console shown (^ key): all other keys go to the console
44
-
AddVariable(applyToAllPoints, bool, false) // A change of the animation mode is applied to all animation points
40
+
AddVariable(applyToAllPoints, bool, false) // A change of the animation mode is applied to all animation points
41
+
EndConfig()
42
+
43
+
BeginHiddenConfig(GPUDisplayControl, control) // Transient control state and actions: not saved, not reset with the other settings
44
+
AddVariable(displayControl, GPUDisplayCopyableAtomic<int32_t>, 0) // Control for next event (=1) or quit (=2)
AddVariable(showConsole, bool, false) // Console shown (^ key): all other keys go to the console
45
48
AddVariable(animationPoints, GPUDisplayMultiSliderValue, GPUDisplayMultiSliderValue()) // Times of the animation points (GPUDisplay::mAnimationVectors) and the selected one, shown in the Qt GUI
46
-
AddVariable(dummy, bool, false) // dummy value to reference for keys that do not change variables
Copy file name to clipboardExpand all lines: GPU/GPUTracking/display/frontend/GPUDisplayFrontend.h
+1-2Lines changed: 1 addition & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -61,7 +61,7 @@ class GPUDisplayFrontend : public GPUDisplayFrontendInterface, public GPUDisplay
61
61
staticconstexprint32_tGL_MIN_VERSION_MAJOR = 4;
62
62
staticconstexprint32_tGL_MIN_VERSION_MINOR = 6;
63
63
64
-
int32_tStartDisplay(); // Start the display. This function returns, and should spawn a thread that runs the display, and calls InitDisplay
64
+
int32_tStartDisplay(); // Start the display: spawns the frontend thread (FrontendThreadWrapper, calls InitDisplay), returns after both threads are initialized
65
65
voidStopDisplay() override; // Stop the display. Display thread should call ExitDisplay. Functions waits for display thread to terminate
0 commit comments