From 1b9e769b3f25a9a12a874c1357ca8c91a5b90b4c Mon Sep 17 00:00:00 2001 From: lisyarus Date: Mon, 15 Feb 2021 22:38:30 +0300 Subject: [PATCH] Support quaternion uniforms --- libs/gfx/include/psemek/gfx/program.hpp | 3 +++ libs/gfx/source/program.cpp | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/libs/gfx/include/psemek/gfx/program.hpp b/libs/gfx/include/psemek/gfx/program.hpp index dcd047cb..b1066b9a 100644 --- a/libs/gfx/include/psemek/gfx/program.hpp +++ b/libs/gfx/include/psemek/gfx/program.hpp @@ -6,6 +6,7 @@ #include #include #include +#include #include #include @@ -92,6 +93,8 @@ namespace psemek::gfx template void operator = (geom::interval const & i); + void operator = (geom::quaternion const & q); + private: GLint location_; }; diff --git a/libs/gfx/source/program.cpp b/libs/gfx/source/program.cpp index 39261f3f..8c88187f 100644 --- a/libs/gfx/source/program.cpp +++ b/libs/gfx/source/program.cpp @@ -210,6 +210,11 @@ namespace psemek::gfx gl::Uniform2f(location_, i.min, i.max); } + void program::uniform_proxy::operator = (geom::quaternion const & q) + { + (*this) = q.coords; + } + static std::string annotated_source(std::string_view source) { std::ostringstream os;