2
3
4
5
6
7
8
11#ifndef _GLSL_STRUCT_STD140_LAYOUT_TRAITS_HPP_
12 #define _GLSL_STRUCT_STD140_LAYOUT_TRAITS_HPP_
14 #include <glslstruct/config.hpp>
17_GLSL_STRUCT_ERROR(
"This is only available for c++17 and greater!");
20 #include <glslstruct/layout/traits/contexts/layout_traits_contexts.hpp>
21 #include <glslstruct/utils/ValueType.hpp>
25
26
27
32
33
34
55 static void after_add(size_t& currentOffset, size_t size, size_t alignment,
context_type& ctx)
noexcept;
#define _GLSL_STRUCT_HAS_CXX17
check if compiler has c++ version greater or equal to c++17
Definition config.hpp:130
Main namespace of glslstruct library.
Definition scalar_layout_traits.hpp:23
layout context which contains max alignment of all variables
Definition layout_traits_contexts.hpp:25
Std140 Layout additional context.
Definition std140_layout_traits.hpp:29
Std140 Layout traits.
Definition std140_layout_traits.hpp:35
std140_layout_context context_type
std140 layout context type
Definition std140_layout_traits.hpp:37
static void after_add(size_t ¤tOffset, size_t size, size_t alignment, context_type &ctx) noexcept
std140 layout after_add action
Definition std140_layout_traits.cpp:50
static size_t get_array_alignment(size_t elemBaseAlignment, context_type &ctx) noexcept
std140 layout array alignment
Definition std140_layout_traits.cpp:31
static size_t get_scalar_alignment(ValueType valueType, context_type &ctx) noexcept
std140 layout scalar alignment
Definition std140_layout_traits.cpp:22
static void before_add(size_t ¤tOffset, context_type &ctx) noexcept
std140 layout before_add action
Definition std140_layout_traits.cpp:43
static size_t get_struct_alignment(const context_type &ctx) noexcept
std140 layout struct alignment
Definition std140_layout_traits.cpp:37
static void after_add_struct(size_t ¤tOffset, size_t size, size_t alignment, context_type &ctx) noexcept
std140 layout after_add_struct action
Definition std140_layout_traits.cpp:54
static size_t get_vec_alignment(ValueType valueType, size_t length, context_type &ctx) noexcept
std140 layout vec alignment
Definition std140_layout_traits.cpp:26
layout context which contains alignment of last added struct
Definition layout_traits_contexts.hpp:39