|
GLSL Struct 1.4.0
glslstruct
|
Main group. More...
Topics | |
| Glsl type containers | |
| type containers are for people that want to know of which type is value stored in struct | |
| Glsl type visitors | |
| glsl type visitors | |
| Layout Traits | |
| Traits for different layouts. | |
| Opengl Writer | |
| Converts glsl struct and layout to glsl code compatible with opengl. | |
| Utilities | |
| group with utilities (not for end user to use) | |
| Vulkan Writer | |
| Converts glsl struct and layout to glsl code compatible with vulkan. | |
Classes | |
| class | glslstruct::mat_data |
| glsl mat data container More... | |
| struct | glslstruct::scalar_traits< bool > |
| scalar_traits for bool values More... | |
| struct | glslstruct::scalar_traits< int > |
| scalar_traits for int values More... | |
| struct | glslstruct::scalar_traits< unsigned int > |
| scalar_traits for unsigned int values More... | |
| struct | glslstruct::scalar_traits< float > |
| scalar_traits for float values More... | |
| struct | glslstruct::scalar_traits< double > |
| scalar_traits for double values More... | |
| class | glslstruct::scalar_data |
| glsl scalar data container More... | |
| class | glslstruct::vec_data |
| glsl vec data container More... | |
| struct | glslstruct::mat_traits< glm::mat< C, R, T, Q > > |
| mat_traits for glm::mat values More... | |
| struct | glslstruct::mat_traits< mstd::mat< C, R, T > > |
| mat_traits for mstd::mat values More... | |
| struct | glslstruct::vec_traits< glm::vec< L, T, Q > > |
| vec_traits for glm::vec values More... | |
| struct | glslstruct::vec_traits< mstd::vec< N, T > > |
| vec_traits for mstd::vec values More... | |
| class | glslstruct::var_data |
| container for all variable data More... | |
| class | glslstruct::base_layout< Traits > |
| base layout container More... | |
| struct | std::hash< glslstruct::base_layout< Traits > > |
| std::hash overload for base_layout More... | |
| struct | glslstruct::max_alignment_layout_context |
| layout context which contains max alignment of all variables More... | |
| struct | glslstruct::struct_added_layout_context |
| layout context which contains alignment of last added struct More... | |
| class | glslstruct::base_parser< Layout > |
| base template class of structs parser More... | |
| class | glslstruct::base_struct< Layout > |
| base class for glsl struct representation More... | |
| struct | std::hash< glslstruct::base_struct< Layout > > |
| std::hash overload for base_struct More... | |
| struct | glslstruct::mat_traits< T > |
| Contains all static functions needed for layout and struct classes to interpret given mat type as glsl mat value. More... | |
| struct | glslstruct::scalar_traits< T > |
| Contains all static functions needed for layout and struct classes to interpret given scalar type as glsl scalar value. More... | |
| struct | glslstruct::vec_traits< T > |
| Contains all static functions needed for layout and struct classes to interpret given vec type as glsl vec value. More... | |
| struct | glslstruct::glsl_value< T, Num > |
| container for values for easier initialization of structs More... | |
| struct | glslstruct::glsl_variable< T, Num > |
| container for variables for easier initialization of layouts More... | |
Macros | |
| #define | GLSL_STRUCT_VERSION_MAJOR 1 |
| glslstruct version major number | |
| #define | GLSL_STRUCT_VERSION_MINOR 4 |
| glslstruct version minor number | |
| #define | GLSL_STRUCT_VERSION_PATCH 0 |
| glslstruct version patch number | |
| #define | GLSL_STRUCT_VERSION_STRING _GLSL_STRUCT_VERSION_TO_STRING(GLSL_STRUCT_VERSION_MAJOR, GLSL_STRUCT_VERSION_MINOR, GLSL_STRUCT_VERSION_PATCH) |
| glslstruct version string | |
| #define | GLSL_STRUCT_VERSION_INT _GLSL_STRUCT_VERSION_TO_INT(GLSL_STRUCT_VERSION_MAJOR, GLSL_STRUCT_VERSION_MINOR, GLSL_STRUCT_VERSION_PATCH) |
| glslstruct version int | |
| #define | GLSL_STRUCT_VERSION GLSL_STRUCT_VERSION_STRING |
| glslstruct version string | |
| #define | GLSL_STRUCT_LAST_UPDATE_DAY 13 |
| glslstruct last update day | |
| #define | GLSL_STRUCT_LAST_UPDATE_MONTH 04 |
| glslstruct last update month | |
| #define | GLSL_STRUCT_LAST_UPDATE_YEAR 2026 |
| glslstruct last update year | |
| #define | GLSL_STRUCT_LAST_UPDATE_DATE |
| glslstruct last update date string | |
Functions | |
| size_t | glslstruct::ceil_to_nearest_multiple (size_t valueToRoundUp, size_t multipleValue) noexcept |
| returns value rounded up to nearest multiple of given value | |
| std::string | glslstruct::get_array_elem_name (std::string_view arrayName, size_t elemIdx) |
| returns array elem name | |
| std::string | glslstruct::get_struct_elem_name (std::string_view structName, std::string_view elemName) |
| returns struct elem name | |
| glslstruct::ENUM_CLASS_BASE (ValueType, uint8_t,(Bool),(Int),(Uint),(Float),(Double)) template< class T > static _GLSL_STRUCT_CONSTEXPR17 ValueType get_value_type() noexcept _GLSL_STRUCT_REQUIRES((mstd | |
| Value Type Enum. | |
| size_t | glslstruct::get_value_type_size (ValueType type) |
| Returns glsl type size of scalar. | |
Main group.
| #define GLSL_STRUCT_LAST_UPDATE_DATE |
glslstruct last update date string
| #define GLSL_STRUCT_LAST_UPDATE_DAY 13 |
glslstruct last update day
| #define GLSL_STRUCT_LAST_UPDATE_MONTH 04 |
glslstruct last update month
| #define GLSL_STRUCT_LAST_UPDATE_YEAR 2026 |
glslstruct last update year
| #define GLSL_STRUCT_VERSION GLSL_STRUCT_VERSION_STRING |
glslstruct version string
| #define GLSL_STRUCT_VERSION_INT _GLSL_STRUCT_VERSION_TO_INT(GLSL_STRUCT_VERSION_MAJOR, GLSL_STRUCT_VERSION_MINOR, GLSL_STRUCT_VERSION_PATCH) |
glslstruct version int
| #define GLSL_STRUCT_VERSION_MAJOR 1 |
glslstruct version major number
| #define GLSL_STRUCT_VERSION_MINOR 4 |
glslstruct version minor number
| #define GLSL_STRUCT_VERSION_PATCH 0 |
glslstruct version patch number
| #define GLSL_STRUCT_VERSION_STRING _GLSL_STRUCT_VERSION_TO_STRING(GLSL_STRUCT_VERSION_MAJOR, GLSL_STRUCT_VERSION_MINOR, GLSL_STRUCT_VERSION_PATCH) |
glslstruct version string
| using glslstruct::array_type_handle = std::shared_ptr<array_type> |
array_type container handle
| using glslstruct::base_type_handle = std::shared_ptr<base_type> |
base_type container handle
| using glslstruct::mat_type_handle = std::shared_ptr<mat_type> |
mat_type container handle
scalar layout representation
parser for scalar layout
scalar struct representation
| using glslstruct::scalar_type_handle = std::shared_ptr<scalar_type> |
scalar_type container handle
std140 layout representation
parser for std140 layout
std140 struct representation
std430 layout representation
parser for std430 layout
std430 struct representation
| using glslstruct::struct_type_handle = std::shared_ptr<struct_type> |
struct_type container handle
| using glslstruct::type_handle = std::shared_ptr<type<Derived> > |
type container handle
| Derived | derived type |
| using glslstruct::vec_type_handle = std::shared_ptr<vec_type> |
vec_type container handle
|
nodiscardnoexcept |
returns value rounded up to nearest multiple of given value
|
nodiscardnoexcept |
Value Type Enum.
Converts type to ValueType Enum value
| T | type of scalar to convert to ValueType enum (only works for { bool, int, unsigned int, float, double }) |
|
nodiscard |
returns array elem name
|
nodiscard |
returns struct elem name
|
nodiscard |
Returns glsl type size of scalar.
| type | scalar value type |