Teo-CD
4a5b0f5829
- Can be translated locally or moved to a point in the world - Rotates locally around local x- and z-axis and around global y-axis. Added key checks to test camera movement. Added Quaternions (Inherits from CoordinatesVector<double,4>) with a view to handling the camera orientation. Added equality operators for CoordinatesVectors. Removed slow `glutGet()` calls. Added custom reshape callback as we now store the window parameters to avoid some `glutGet()` calls. Renamed `KeyStateManager` to `InputStatus` as it handles more than key states now. Mouse movement callback now captures the cursor, handles its re-centering and when the cursor enters the window far away from its last position. TODO : Consider limiting rotations for the camera (Prevents flipping the head around)
47 lines
No EOL
1.1 KiB
CMake
47 lines
No EOL
1.1 KiB
CMake
cmake_minimum_required(VERSION 3.14)
|
|
project(tests_opengl)
|
|
|
|
set(CMAKE_CXX_STANDARD 14)
|
|
|
|
find_package(OpenGL REQUIRED)
|
|
find_package(GLUT REQUIRED)
|
|
|
|
if(NOT ${OPENGL_GLU_FOUND})
|
|
message(FATAL_ERROR "Glu not installed!")
|
|
endif()
|
|
|
|
add_executable(tests_opengl
|
|
src/main.cpp
|
|
src/displayers.h
|
|
src/displayers.cpp
|
|
src/DataHandling/Texture.cpp
|
|
src/DataHandling/Texture.h
|
|
src/DataHandling/Model3D.cpp
|
|
src/DataHandling/Model3D.h
|
|
src/Vectors.h
|
|
src/InputStatus.cpp
|
|
src/InputStatus.h
|
|
src/Camera.cpp
|
|
src/Camera.h
|
|
src/Quaternion.cpp
|
|
src/Quaternion.h)
|
|
|
|
target_link_directories(tests_opengl PRIVATE
|
|
src)
|
|
|
|
target_include_directories(tests_opengl PRIVATE
|
|
src)
|
|
|
|
target_link_libraries(tests_opengl
|
|
${OPENGL_LIBRARIES}
|
|
${GLUT_LIBRARIES})
|
|
|
|
target_include_directories(tests_opengl PRIVATE
|
|
${OPENGL_INCLUDE_DIR}
|
|
${GLUT_INCLUDE_DIR})
|
|
|
|
if (CMAKE_COMPILER_IS_GNUCXX)
|
|
target_compile_options(tests_opengl PRIVATE -Wall -Wpedantic -Wextra)
|
|
elseif(MSVC)
|
|
target_compile_options(tests_opengl PRIVATE /W4)
|
|
endif() |