In the middle of multithreading parsers.
This commit is contained in:
@@ -1,27 +1,39 @@
|
||||
#ifndef INCLUDE_DYNAMIC_MATERIAL_DATA_IMPLEMENTATION
|
||||
# error Never include this file directly include 'dynamic_material_buffer.hpp'
|
||||
#ifndef INCLUDE_MATERIAL_DATA_IMPLEMENTATION
|
||||
# error Never include this file directly include 'material_data.hpp'
|
||||
#endif
|
||||
|
||||
inline std::optional<assets::material_components::ambient_filter>& assets::material_data::specular_filter()
|
||||
{
|
||||
return std::get<material_components::indices::ambient_filter>(components);
|
||||
}
|
||||
inline std::optional<assets::material_components::diffuse_filter>& assets::material_data::diffuse_filter()
|
||||
{
|
||||
return std::get<material_components::indices::diffuse_filter>(components);
|
||||
}
|
||||
inline std::optional<assets::material_components::specular_filter>& assets::material_data::specular_filter()
|
||||
{
|
||||
return std::get<material_components::indices::specular_filter>(components);
|
||||
}
|
||||
inline std::optional<assets::material_components::shininess>& assets::material_data::shininess()
|
||||
{
|
||||
return std::get<material_components::indices::shininess>(components);
|
||||
}
|
||||
inline std::optional<assets::material_components::alpha>& assets::material_data::alpha()
|
||||
{
|
||||
return std::get<material_components::indices::alpha>(components);
|
||||
}
|
||||
|
||||
inline std::optional<assets::material_components::surface_properties>& assets::material_data::surface_properties()
|
||||
inline std::optional<assets::material_components::ambient_filter_texture>& assets::material_data::specular_filter_texture_id()
|
||||
{
|
||||
return std::get<material_components::indices::surface_properties>(components);
|
||||
return std::get<material_components::indices::ambient_filter_texture>(components);
|
||||
}
|
||||
inline std::optional<assets::material_components::transparency>& assets::material_data::transparency()
|
||||
inline std::optional<assets::material_components::diffuse_filter_texture>& assets::material_data::diffuse_filter_texture_id()
|
||||
{
|
||||
return std::get<material_components::indices::transparency>(components);
|
||||
return std::get<material_components::indices::diffuse_filter_texture>(components);
|
||||
}
|
||||
inline std::optional<assets::material_components::ambient_color_texture>& assets::material_data::ambient_color_texture_id()
|
||||
inline std::optional<assets::material_components::specular_filter_texture>& assets::material_data::specular_filter_texture_id()
|
||||
{
|
||||
return std::get<material_components::indices::ambient_color_texture>(components);
|
||||
}
|
||||
inline std::optional<assets::material_components::diffuse_color_texture>& assets::material_data::diffuse_color_texture_id()
|
||||
{
|
||||
return std::get<material_components::indices::diffuse_color_texture>(components);
|
||||
}
|
||||
inline std::optional<assets::material_components::specular_color_texture>& assets::material_data::specular_color_texture_id()
|
||||
{
|
||||
return std::get<material_components::indices::specular_color_texture>(components);
|
||||
return std::get<material_components::indices::specular_filter_texture>(components);
|
||||
}
|
||||
inline std::optional<assets::material_components::shininess_texture>& assets::material_data::shininess_texture_id()
|
||||
{
|
||||
@@ -36,29 +48,40 @@ inline std::optional<assets::material_components::bump_texture>& assets::materia
|
||||
return std::get<material_components::indices::bump_texture(components);
|
||||
}
|
||||
|
||||
inline const std::optional<assets::material_components::surface_properties>& assets::material_data::surface_properties() const
|
||||
inline const std::optional<assets::material_components::ambient_filter>& assets::material_data::specular_filter() const
|
||||
{
|
||||
return std::get<material_components::indices::surface_properties>(components);
|
||||
return std::get<material_components::indices::ambient_filter>(components);
|
||||
}
|
||||
inline const std::optional<assets::material_components::diffuse_filter>& assets::material_data::diffuse_filter() const
|
||||
{
|
||||
return std::get<material_components::indices::diffuse_filter>(components);
|
||||
}
|
||||
inline const std::optional<assets::material_components::specular_filter>& assets::material_data::specular_filter() const
|
||||
{
|
||||
return std::get<material_components::indices::specular_filter>(components);
|
||||
}
|
||||
inline const std::optional<assets::material_components::shininess>& assets::material_data::shininess() const
|
||||
{
|
||||
return std::get<material_components::indices::shininess>(components);
|
||||
}
|
||||
inline const std::optional<assets::material_components::alpha>& assets::material_data::alpha() const
|
||||
{
|
||||
return std::get<material_components::indices::alpha>(components);
|
||||
}
|
||||
|
||||
inline const std::optional<assets::material_components::transparency>& assets::material_data::transparency() const
|
||||
inline const std::optional<assets::material_components::ambient_filter_texture>& assets::material_data::specular_filter_texture_id() const
|
||||
{
|
||||
return std::get<material_components::indices::transparency>(components);
|
||||
return std::get<material_components::indices::ambient_filter_texture>(components);
|
||||
}
|
||||
|
||||
inline const std::optional<assets::material_components::ambient_color_texture>& assets::material_data::ambient_color_texture_id() const
|
||||
inline const std::optional<assets::material_components::diffuse_filter_texture>& assets::material_data::diffuse_filter_texture_id() const
|
||||
{
|
||||
return std::get<material_components::indices::ambient_color_texture>(components);
|
||||
return std::get<material_components::indices::diffuse_filter_texture>(components);
|
||||
}
|
||||
|
||||
inline const std::optional<assets::material_components::diffuse_color_texture>& assets::material_data::diffuse_color_texture_id() const
|
||||
inline const std::optional<assets::material_components::specular_filter_texture>& assets::material_data::specular_filter_texture_id() const
|
||||
{
|
||||
return std::get<material_components::indices::diffuse_color_texture>(components);
|
||||
}
|
||||
|
||||
inline const std::optional<assets::material_components::specular_color_texture>& assets::material_data::specular_color_texture_id() const
|
||||
{
|
||||
return std::get<material_components::indices::specular_color_texture>(components);
|
||||
return std::get<material_components::indices::specular_filter_texture>(components);
|
||||
}
|
||||
|
||||
inline const std::optional<assets::material_components::shininess_texture>& assets::material_data::shininess_texture_id() const
|
||||
@@ -76,17 +99,6 @@ inline const std::optional<assets::material_components::bump_texture>& assets::m
|
||||
return std::get<material_components::indices::bump_texture>(components);
|
||||
}
|
||||
|
||||
|
||||
inline assets::material_components::surface_properties& assets::material_data::initialized_surface_properties()
|
||||
{
|
||||
auto& surface_properties_opt = surface_properties();
|
||||
if (not surface_properties_opt)
|
||||
{
|
||||
surface_properties_opt = material_components::surface_properties{};
|
||||
}
|
||||
return *surface_properties_opt;
|
||||
}
|
||||
|
||||
inline void assets::material_data::clear()
|
||||
{
|
||||
clear_components();
|
||||
|
||||
Reference in New Issue
Block a user