VisPro  1.0
Project of Visualisierung 2
UserInput.h
Go to the documentation of this file.
1 #pragma once
2 
7 #include <iostream>
8 #include "glfw3.h"
9 #include "glm.hpp"
10 
13 class UserInput
14 {
15 public:
16  UserInput(GLFWwindow* window);
17  UserInput();
18  ~UserInput();
19 
20  void init(GLFWwindow* window, bool wire, bool frame, bool lin_tex, int mip, bool vf_cull, bool transp, bool bloom, bool count_down);
21  bool terminate();
22 
23  // Player related input
24  glm::vec3 getMoveInput();
25  glm::vec2 getLookInput();
26  bool getFireInput();
27 
28  void switchModi();
29 
30 private:
31  GLFWwindow* window;
32  glm::vec2 screen_center;
33 
34  float lastButtonPress = 0; //extra buttons (F2,F3,...)
35  float minDist = 0.4; //minimum 0.4 seconds between 2 button presses
36 
37  // Extras
38  void switchFrameTimeMode();
39  void switchWireFrameMode();
40  void switchTexSamplingMode();
41  void switchMipMapMode();
42  void switchViewFrustumCullingMode();
43  void switchTransparencyMode();
44  void switchBloomMode();
45  void switchCountdownMode();
46 
49  void toggleShowZBufferView();
50 
53  void toggleUpdateZBufferView();
54 
57  void doFreeMouse();
58 
59 };
60 
61 //global
62 extern bool showFrameTime, useWireFrame, useLinearTexSampling, useViewFrustumCulling, useTransparency, useBloom, countDown, showZBufferView, updateZBufferView, freeMouse;
63 extern int useMipMapping; // 0: off, 1: nearest neighbour, 2: linear
64 
Definition: UserInput.h:13