Files
Z3D/include/assets/components/texture_components.hpp
2025-03-28 13:09:34 +01:00

38 lines
642 B
C++

#pragma once
#include "config/primitives.hpp"
#include <tuple>
#include <cinttypes>
#include "util/enum_bitfield_operators.hpp"
namespace assets::texture_components
{
using red = z3d::u8;
using green = z3d::u8;
using blue = z3d::u8;
using alpha = z3d::u8;
using luminance = z3d::u8;
enum class flags : std::uint8_t
{
none = 0,
luminance = 1 << 1,
red = 1 << 2,
green = 1 << 3,
blue = 1 << 4,
alpha = 1 << 5
};
using all = z3d::structure<
red,
green,
blue,
luminance
>;
constexpr inline auto count = std::tuple_size_v<all>;
} // namespace texture_components
DEFINE_ENUM_BITFIELD_OPERATORS(assets::texture_components::flags)