Porytiles
Loading...
Searching...
No Matches
indirect_link_builder.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <array>
4#include <cstddef>
5#include <map>
6#include <optional>
7#include <vector>
8
13
14namespace porytiles {
15
45[[nodiscard]] std::vector<IndirectLink> build_indirect_links(
46 const std::vector<ShapeGroup<Rgba32>> &shape_groups,
47 const std::map<std::size_t, std::size_t> &tile_pal_assignments,
48 const std::array<std::optional<Palette<Rgba32, pal::max_size>>, pal::num_pals> &base_pals,
49 const std::array<std::optional<Palette<Rgba32, pal::max_size>>, pal::num_pals> &prefilled_pals);
50
51} // namespace porytiles
constexpr std::size_t num_pals
Definition palette.hpp:21
std::vector< IndirectLink > build_indirect_links(const std::vector< ShapeGroup< Rgba32 > > &shape_groups, const std::map< std::size_t, std::size_t > &tile_pal_assignments, const std::array< std::optional< Palette< Rgba32, pal::max_size > >, pal::num_pals > &base_pals, const std::array< std::optional< Palette< Rgba32, pal::max_size > >, pal::num_pals > &prefilled_pals)
Builds Indirect links from shape groups and pre-computed palette assignments.