1#ifndef GLK_TEXTURE_RENDERER_INPUT_HPP
2#define GLK_TEXTURE_RENDERER_INPUT_HPP
6#include <unordered_map>
13 using Ptr = std::shared_ptr<TextureRendererInput>;
23 std::optional<T>
get(
const std::string& name)
const;
26 std::unordered_map<std::string, unsigned int> params_int;
27 std::unordered_map<std::string, std::array<float, 16>> params_16f;
32 std::copy(
value.data(),
value.data() + 16, params_16f[name].begin());
37 auto found = params_16f.find(name);
38 if(
found == params_16f.end()) {
42 return Eigen::Map<const Eigen::Matrix4f>(
found->second.data()).eval();
47 params_int[name] =
value;
52 auto found = params_int.find(name);
53 if(
found == params_int.end()) {
Definition async_buffer_copy.hpp:6
std::enable_if_t< needs_aligned_allocator< T >::value, std::shared_ptr< T > > make_shared(Args &&... args)
Definition make_shared.hpp:20
Definition texture_renderer_input.hpp:12
std::optional< T > get(const std::string &name) const
std::shared_ptr< TextureRendererInput > Ptr
Definition texture_renderer_input.hpp:13
void set(const std::string &name, const T &value)
EIGEN_MAKE_ALIGNED_OPERATOR_NEW TextureRendererInput()
Definition texture_renderer_input.hpp:16
~TextureRendererInput()
Definition texture_renderer_input.hpp:17