47 lines
816 B
C++
47 lines
816 B
C++
#pragma once
|
|
|
|
#include "config/primitives.hpp"
|
|
#include "util/enum_bitfield_operators.hpp"
|
|
#include <array>
|
|
#include <string_view>
|
|
|
|
namespace assets::point_cloud_shader_components
|
|
{
|
|
|
|
enum indices : z3d::size
|
|
{
|
|
square,
|
|
lighting,
|
|
luminance,
|
|
color,
|
|
alpha,
|
|
uniform_color,
|
|
rainbow
|
|
};
|
|
|
|
enum class flags : std::uint16_t
|
|
{
|
|
none = 0,
|
|
square = 1 << indices::square,
|
|
lighting = 1 << indices::lighting,
|
|
luminance = 1 << indices::luminance,
|
|
color = 1 << indices::color,
|
|
alpha = 1 << indices::alpha,
|
|
uniform_color = 1 << indices::uniform_color,
|
|
rainbow = 1 << indices::rainbow
|
|
};
|
|
|
|
constexpr inline auto names = std::array<std::string_view, 7>{
|
|
"square",
|
|
"lighting",
|
|
"luminance",
|
|
"color",
|
|
"alpha",
|
|
"uniform_color",
|
|
"rainbow"
|
|
};
|
|
|
|
}
|
|
|
|
DEFINE_ENUM_BITFIELD_OPERATORS(assets::point_cloud_shader_components::flags)
|