13 GeometryResult CoverGeometry::GetPositionBuffer(
const ContentContext& renderer,
15 RenderPass& pass)
const {
17 constexpr uint16_t kRectIndicies[4] = {0, 1, 2, 3};
18 auto& host_buffer = pass.GetTransientsBuffer();
19 return GeometryResult{
23 .vertex_buffer = host_buffer.Emplace(
24 rect.GetTransformedPoints(entity.GetTransform().Invert())
26 8 *
sizeof(
float),
alignof(
float)),
27 .index_buffer = host_buffer.Emplace(
28 kRectIndicies, 4 *
sizeof(uint16_t),
alignof(uint16_t)),
32 .transform = pass.GetOrthographicTransform() * entity.GetTransform(),
33 .prevent_overdraw =
false,
38 GeometryResult CoverGeometry::GetPositionUVBuffer(
39 Rect texture_coverage,
40 Matrix effect_transform,
41 const ContentContext& renderer,
43 RenderPass& pass)
const {
46 renderer, entity, pass);
53 std::optional<Rect> CoverGeometry::GetCoverage(
const Matrix& transform)
const {
58 const Rect& rect)
const {