Add LINE to make functions as last primitive

This commit is contained in:
Jaby Blubb 2023-10-03 20:44:08 +02:00
parent 40ec19ce7a
commit 19f8303d99
2 changed files with 23 additions and 4 deletions

View File

@ -88,21 +88,21 @@ static constexpr const auto rectangle5 = Make::POLY_GT4(Make::AreaI16(
GPU::Color24::White()}
).set_semi_transparent(true);
static constexpr const auto line1 = GPU::LINE_F::create(LineColor,
static constexpr const auto line1 = Make::LINE_F(LineColor,
Make::Vertex(0, 0),
Make::Vertex(GPU::Display::Width, GPU::Display::Height)
);
static constexpr const auto line2 = GPU::LINE_F::create(LineColor.invert(),
static constexpr const auto line2 = Make::LINE_F(LineColor.invert(),
Make::Vertex(0, 0),
Make::Vertex(16, 0),
Make::Vertex(16, 16),
Make::Vertex(0, 0)
);
static constexpr const auto line3 = GPU::LINE_G::create(
static constexpr const auto line3 = Make::LINE_G(
GPU::ColorVertex{LineColor, Make::Vertex(GPU::Display::Width, 0)},
GPU::ColorVertex{LineColor.invert(), Make::Vertex(0, GPU::Display::Height)}
);
static constexpr const auto line4 = GPU::LINE_G::create(
static constexpr const auto line4 = Make::LINE_G(
GPU::ColorVertex{GPU::Color24::Red(), Make::Vertex(0, 0)},
GPU::ColorVertex{GPU::Color24::Green(), Make::Vertex(0, 16)},
GPU::ColorVertex{GPU::Color24::Blue(), Make::Vertex(16, 16)},

View File

@ -149,6 +149,25 @@ namespace JabyEngine {
}
// ###################################################################
static constexpr GPU::internal::SingleLine<GPU::Vertex> LINE_F(const GPU::Color24& color, const GPU::Vertex& start_point, const GPU::Vertex& end_point) {
return GPU::LINE_F::create(color, start_point, end_point);
}
template<typename...ARGS>
static constexpr GPU::internal::MultiLine<GPU::Vertex, sizeof...(ARGS)> LINE_F(const GPU::Color24& color, const GPU::Vertex& start_point, const ARGS&...rest) {
return GPU::LINE_F::create(color, start_point, rest...);
}
static constexpr GPU::internal::SingleLine<GPU::ColorVertex> LINE_G(const GPU::ColorVertex& start_point, const GPU::ColorVertex& end_point) {
return GPU::LINE_G::create(start_point, end_point);
}
template<typename...ARGS>
static constexpr GPU::internal::MultiLine<GPU::ColorVertex, sizeof...(ARGS)> LINE_G(const GPU::ColorVertex& start_point, const ARGS&...rest) {
return GPU::LINE_G::create(start_point, rest...);
}
// ###################################################################
// ###################################################################
// ###################################################################