#pragma once #include #include "mesh_shader_components.hpp" #include "point_cloud_shader_components.hpp" namespace assets::shader_components { enum class stage : z3d::u8 { vertex = 0, tesselation_control = 1, tesselation_evaluation = 2, geometry = 3, fragment = 4 }; inline constexpr std::size_t count = 5; inline constexpr auto stage_names = std::array{ "vertex", "tesselation_control", "tesselation_evaluation", "geometry", "fragment" }; using flags = std::make_unsigned_t, std::underlying_type_t >>; }