15 GeometryResult CoverGeometry::GetPositionBuffer(
const ContentContext& renderer,
18 auto rect =
Rect(
Size(pass.GetRenderTargetSize()));
19 constexpr uint16_t kRectIndicies[4] = {0, 1, 2, 3};
20 auto& host_buffer = pass.GetTransientsBuffer();
21 return GeometryResult{
25 .vertex_buffer = host_buffer.Emplace(
26 rect.GetTransformedPoints(entity.GetTransformation().Invert())
28 8 *
sizeof(
float),
alignof(
float)),
29 .index_buffer = host_buffer.Emplace(
30 kRectIndicies, 4 *
sizeof(uint16_t),
alignof(uint16_t)),
35 entity.GetTransformation(),
36 .prevent_overdraw =
false,
41 GeometryResult CoverGeometry::GetPositionUVBuffer(
42 Rect texture_coverage,
43 Matrix effect_transform,
44 const ContentContext& renderer,
47 auto rect =
Rect(
Size(pass.GetRenderTargetSize()));
49 renderer, entity, pass);
56 std::optional<Rect> CoverGeometry::GetCoverage(
const Matrix& transform)
const {
61 const Rect& rect)
const {