aboutsummaryrefslogtreecommitdiff
path: root/3rdparty/glm/source/test/cmake
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/glm/source/test/cmake')
-rw-r--r--3rdparty/glm/source/test/cmake/CMakeLists.txt8
-rw-r--r--3rdparty/glm/source/test/cmake/test_find_glm.cpp22
2 files changed, 30 insertions, 0 deletions
diff --git a/3rdparty/glm/source/test/cmake/CMakeLists.txt b/3rdparty/glm/source/test/cmake/CMakeLists.txt
new file mode 100644
index 0000000..5bc11ef
--- /dev/null
+++ b/3rdparty/glm/source/test/cmake/CMakeLists.txt
@@ -0,0 +1,8 @@
+cmake_minimum_required(VERSION 3.2 FATAL_ERROR)
+project(test_find_glm)
+
+find_package(glm REQUIRED)
+
+add_executable(test_find_glm test_find_glm.cpp)
+target_link_libraries(test_find_glm glm::glm)
+
diff --git a/3rdparty/glm/source/test/cmake/test_find_glm.cpp b/3rdparty/glm/source/test/cmake/test_find_glm.cpp
new file mode 100644
index 0000000..361b977
--- /dev/null
+++ b/3rdparty/glm/source/test/cmake/test_find_glm.cpp
@@ -0,0 +1,22 @@
+#include <iostream>
+#include <glm/glm.hpp>
+#include <glm/ext.hpp>
+
+glm::mat4 camera(float Translate, glm::vec2 const& Rotate)
+{
+ glm::mat4 Projection = glm::perspective(glm::pi<float>() * 0.25f, 4.0f / 3.0f, 0.1f, 100.f);
+ glm::mat4 View = glm::translate(glm::mat4(1.0f), glm::vec3(0.0f, 0.0f, -Translate));
+ View = glm::rotate(View, Rotate.y, glm::vec3(-1.0f, 0.0f, 0.0f));
+ View = glm::rotate(View, Rotate.x, glm::vec3(0.0f, 1.0f, 0.0f));
+ glm::mat4 Model = glm::scale(glm::mat4(1.0f), glm::vec3(0.5f));
+ return Projection * View * Model;
+}
+
+int main()
+{
+ const glm::mat4 m = camera(1.f, glm::vec2(1.f, 0.5f));
+ std::cout << "matrix diagonal: " << m[0][0] << ", "
+ << m[1][1] << ", " << m[2][2] << ", " << m[3][3] << "\n";
+ return 0;
+}
+