Commits on Source (62)
-
Vanessa Karolek authored
This seems to work but we need to prevent gimbal lock. Maybe we will also find a better way to switch between cameras
-
Vanessa Karolek authored
-
Vanessa Karolek authored
-
Vanessa Karolek authored
Just comment/uncomment lines to switch between normal camera and trackball camera (:
-
Josch Morgenstern authored
-
Josch Morgenstern authored
-
Vanessa Karolek authored
-
Vanessa Karolek authored
... because Vulkan is a bit different :D
-
Vanessa Karolek authored
-
Vanessa Karolek authored
-
Vanessa Karolek authored
-
Vanessa Karolek authored
-
Vanessa Karolek authored
For convenience reasons: - Right mouse movement leads to camera movement to the left (background changes to the right) - Left mouse movement leads to camera movement to the right (background changes to the left)
-
Vanessa Karolek authored
Before, the camera object was just able to move along the xz plane. For vertical movement, you have to pan view and then use forward or backward movement to move up or down. This might be not so handy for the user. Now, you can use E to move up and use Q to move down (both along default world up vector).
-
Sebastian Gaida authored
-
Vanessa Karolek authored
Vulkan uses a left handed coordinate system. Thus, we need to define GLM_FORCE_LEFT_HANDED and adjust left and right movement of the camera. We also need to define GLM_DEPTH_ZERO_TO_ONE for the depth values which range between 0 and 1 in Vulkan. Although the up vector is pointing upwards again, it seems that the rendered scene is not flipped along y axis... is this correct?
-
Tobias Frisch authored
Signed-off-by:
Tobias Frisch <tfrisch@uni-koblenz.de>
-
Tobias Frisch authored
Signed-off-by:
Tobias Frisch <tfrisch@uni-koblenz.de>
-
Tobias Frisch authored
Signed-off-by:
Tobias Frisch <tfrisch@uni-koblenz.de>
-
Vanessa Karolek authored
1) Now there is only one camera class (no inheritance anymore). Furthermore, the camera object is separated from camera controls and only manages camera specific information, such as the view matrix, projection matrix, the position, etc. Camera controls are now handled via camera controller objects. 2) The CameraManager now manages an arbitrary number of camera controllers, such as PilotCameraController or TrackballCameraController (TraceCameraController will be implemented soon!). Before you can use a camera object in your render loop, you need to add at least one camera. You do not have to use a camera controller to render something, but you need to implement camera movements yourself... If you want to CONTROL a camera object, you can make use of the existing camera controller objects. To create a controller, you need to add a camera controller object to the camera manager and specify which camera should be used for this controller. You can change the bound camera whenever you like to. To switch between all existing camera controllers, you can use the active controller in the render loop and change the cycle between all camera controllers via Tab. See the example projects for an examplary application. 3) Currently, events are only handled for the active camera controller. 4) DISCUSSION: We use the 'new' keyword within the camera manager class. Unfortunately, we did not find any other way to create an object (such as the camera controller) inside the scope of one function and make use of the inheritance (only pointers seem to support this) or to refer to an object that updates everywhere where it is refered. To not lose the object at specified memory location, we need to create it via 'new' and ensure that all allocated objects are deleted within the destructor of the camera manager. Find this lines at the 'TODO' marked locations. If you have a better idea to solve this problem, please let us know. :)
-
Vanessa Karolek authored
Merge branch 'develop' into 42-kamera-trackballkamera and update all main.cpp so that they can work with the current camera objects # Conflicts: # modules/camera/include/vkcv/camera/Camera.hpp # modules/camera/include/vkcv/camera/CameraManager.hpp # modules/camera/src/vkcv/camera/Camera.cpp # modules/camera/src/vkcv/camera/CameraManager.cpp # projects/first_mesh/src/main.cpp # projects/first_triangle/src/main.cpp
-
Vanessa Karolek authored
-
Artur Wasmut authored
-
Tobias Frisch authored
Signed-off-by:
Tobias Frisch <tfrisch@uni-koblenz.de>
-
Tobias Frisch authored
Signed-off-by:
Tobias Frisch <tfrisch@uni-koblenz.de>
-
Artur Wasmut authored
Remove offset calculation in shader reflection. Proper offsets are now calculated on vertex binding creation.
-
Simeon Hermann authored
-
Tobias Frisch authored
Signed-off-by:
Tobias Frisch <tfrisch@uni-koblenz.de>
-
Artur Wasmut authored
-
Artur Wasmut authored
Merge branch '75-refactor-vertexlayout' of gitlab.uni-koblenz.de:vulkan2021/vkcv-framework into 75-refactor-vertexlayout
-
Tobias Frisch authored
Resolve "Refactor(?) VertexLayout" Closes #75 See merge request !61
-
Josch Morgenstern authored
-
Josch Morgenstern authored
cameras + controllertypeenums in vector remove cameraController vector remove activeControllerIndex remove methods regarding cameraController objects add methods regarding camera objects
-
Josch Morgenstern authored
deletion of controllers and cameras no longer needed move window manipulation from controller to manager move calculation of lastx and lasty from controller to manager remove methods concering handling of cameraController vector add methods concerning management of camera vector
-
Josch Morgenstern authored
-
Josch Morgenstern authored
-
Josch Morgenstern authored
-
Josch Morgenstern authored
-
Vanessa Karolek authored
-
Vanessa Karolek authored
-
Vanessa Karolek authored
-
Vanessa Karolek authored
Per default: index = 0 is the active camera. The user should determine himself via setActiveCamera which camera should be active
-
Vanessa Karolek authored
-
Vanessa Karolek authored
-
Vanessa Karolek authored
-
Vanessa Karolek authored
Before: If more than one trackball camera controller is added to your application, changing the m_radius variable via scroll event would lead to adjusting the radius for all cameras attached to the trackball camera controller. After: Before updating the radius, the m_radius variable is changed in respect to the current distance from the camera to its center point. This enables handling all cameras with attached trackball camera controller separately.
-
Vanessa Karolek authored
-
Vanessa Karolek authored
-
Tobias Frisch authored
[#42] Simplified update methods, replaced clones to references, added namespace, corrected applications Signed-off-by:
Tobias Frisch <tfrisch@uni-koblenz.de>
-
Tobias Frisch authored
Merge branch '42-kamera-trackballkamera' of gitlab.uni-koblenz.de:vulkan2021/vkcv-framework into 42-kamera-trackballkamera
-
Tobias Frisch authored
Signed-off-by:
Tobias Frisch <tfrisch@uni-koblenz.de>
-
Tobias Frisch authored
Signed-off-by:
Tobias Frisch <tfrisch@uni-koblenz.de>
-
Vanessa Karolek authored
-
Alexander Gauggel authored
-
Alexander Gauggel authored
Resolve "Kamera - Trackballkamera" Closes #42 See merge request !35
-
Tobias Frisch authored
Signed-off-by:
Tobias Frisch <tfrisch@uni-koblenz.de>
-
Tobias Frisch authored
Signed-off-by:
Tobias Frisch <tfrisch@uni-koblenz.de>
-
Tobias Frisch authored
Signed-off-by:
Tobias Frisch <tfrisch@uni-koblenz.de>
-
Tobias Frisch authored
Signed-off-by:
Tobias Frisch <tfrisch@uni-koblenz.de>
-
Tobias Frisch authored
Signed-off-by:
Tobias Frisch <tfrisch@uni-koblenz.de>
-
Tobias Frisch authored
Signed-off-by:
Tobias Frisch <tfrisch@uni-koblenz.de>
-
Alexander Gauggel authored
Resolve "Runtime shader compilation" Closes #73 See merge request !60
Showing
- .gitmodules 4 additions, 1 deletion.gitmodules
- config/Sources.cmake 0 additions, 1 deletionconfig/Sources.cmake
- include/vkcv/PipelineConfig.hpp 9 additions, 27 deletionsinclude/vkcv/PipelineConfig.hpp
- include/vkcv/ShaderProgram.hpp 14 additions, 8 deletionsinclude/vkcv/ShaderProgram.hpp
- include/vkcv/VertexLayout.hpp 41 additions, 32 deletionsinclude/vkcv/VertexLayout.hpp
- modules/CMakeLists.txt 1 addition, 0 deletionsmodules/CMakeLists.txt
- modules/asset_loader/include/vkcv/asset/asset_loader.hpp 18 additions, 2 deletionsmodules/asset_loader/include/vkcv/asset/asset_loader.hpp
- modules/camera/CMakeLists.txt 5 additions, 2 deletionsmodules/camera/CMakeLists.txt
- modules/camera/include/vkcv/camera/Camera.hpp 152 additions, 54 deletionsmodules/camera/include/vkcv/camera/Camera.hpp
- modules/camera/include/vkcv/camera/CameraController.hpp 64 additions, 0 deletionsmodules/camera/include/vkcv/camera/CameraController.hpp
- modules/camera/include/vkcv/camera/CameraManager.hpp 167 additions, 23 deletionsmodules/camera/include/vkcv/camera/CameraManager.hpp
- modules/camera/include/vkcv/camera/PilotCameraController.hpp 138 additions, 0 deletionsmodules/camera/include/vkcv/camera/PilotCameraController.hpp
- modules/camera/include/vkcv/camera/TrackballCamera.hpp 0 additions, 49 deletionsmodules/camera/include/vkcv/camera/TrackballCamera.hpp
- modules/camera/include/vkcv/camera/TrackballCameraController.hpp 100 additions, 0 deletions.../camera/include/vkcv/camera/TrackballCameraController.hpp
- modules/camera/src/vkcv/camera/Camera.cpp 82 additions, 112 deletionsmodules/camera/src/vkcv/camera/Camera.cpp
- modules/camera/src/vkcv/camera/CameraManager.cpp 124 additions, 54 deletionsmodules/camera/src/vkcv/camera/CameraManager.cpp
- modules/camera/src/vkcv/camera/PilotCameraController.cpp 155 additions, 0 deletionsmodules/camera/src/vkcv/camera/PilotCameraController.cpp
- modules/camera/src/vkcv/camera/TrackballCamera.cpp 0 additions, 146 deletionsmodules/camera/src/vkcv/camera/TrackballCamera.cpp
- modules/camera/src/vkcv/camera/TrackballCameraController.cpp 100 additions, 0 deletionsmodules/camera/src/vkcv/camera/TrackballCameraController.cpp
- modules/shader_compiler/CMakeLists.txt 34 additions, 0 deletionsmodules/shader_compiler/CMakeLists.txt
modules/shader_compiler/CMakeLists.txt
0 → 100644