@@ -37,37 +37,6 @@ GeometryResult FillPathGeometry::GetPositionBuffer(
37
37
}
38
38
39
39
VertexBuffer vertex_buffer;
40
- if constexpr (!ContentContext::kEnableStencilThenCover ) {
41
- if (!path_.IsConvex ()) {
42
- auto tesselation_result = renderer.GetTessellator ()->Tessellate (
43
- path_, entity.GetTransform ().GetMaxBasisLength (),
44
- [&vertex_buffer, &host_buffer](
45
- const float * vertices, size_t vertices_count,
46
- const uint16_t * indices, size_t indices_count) {
47
- vertex_buffer.vertex_buffer = host_buffer.Emplace (
48
- vertices, vertices_count * sizeof (float ) * 2 , alignof (float ));
49
- if (indices != nullptr ) {
50
- vertex_buffer.index_buffer = host_buffer.Emplace (
51
- indices, indices_count * sizeof (uint16_t ), alignof (uint16_t ));
52
- vertex_buffer.vertex_count = indices_count;
53
- vertex_buffer.index_type = IndexType::k16bit;
54
- } else {
55
- vertex_buffer.index_buffer = {};
56
- vertex_buffer.vertex_count = vertices_count;
57
- vertex_buffer.index_type = IndexType::kNone ;
58
- }
59
- return true ;
60
- });
61
- if (tesselation_result != Tessellator::Result::kSuccess ) {
62
- return {};
63
- }
64
- return GeometryResult{
65
- .type = PrimitiveType::kTriangle ,
66
- .vertex_buffer = vertex_buffer,
67
- .transform = entity.GetShaderTransform (pass),
68
- };
69
- }
70
- }
71
40
72
41
auto points = renderer.GetTessellator ()->TessellateConvex (
73
42
path_, entity.GetTransform ().GetMaxBasisLength ());
@@ -111,41 +80,6 @@ GeometryResult FillPathGeometry::GetPositionUVBuffer(
111
80
auto uv_transform =
112
81
texture_coverage.GetNormalizingTransform () * effect_transform;
113
82
114
- if constexpr (!ContentContext::kEnableStencilThenCover ) {
115
- if (!path_.IsConvex ()) {
116
- VertexBufferBuilder<VS::PerVertexData> vertex_builder;
117
- auto tesselation_result = renderer.GetTessellator ()->Tessellate (
118
- path_, entity.GetTransform ().GetMaxBasisLength (),
119
- [&vertex_builder, &uv_transform](
120
- const float * vertices, size_t vertices_count,
121
- const uint16_t * indices, size_t indices_count) {
122
- for (auto i = 0u ; i < vertices_count * 2 ; i += 2 ) {
123
- VS::PerVertexData data;
124
- Point vtx = {vertices[i], vertices[i + 1 ]};
125
- data.position = vtx;
126
- data.texture_coords = uv_transform * vtx;
127
- vertex_builder.AppendVertex (data);
128
- }
129
- FML_DCHECK (vertex_builder.GetVertexCount () == vertices_count);
130
- if (indices != nullptr ) {
131
- for (auto i = 0u ; i < indices_count; i++) {
132
- vertex_builder.AppendIndex (indices[i]);
133
- }
134
- }
135
- return true ;
136
- });
137
- if (tesselation_result != Tessellator::Result::kSuccess ) {
138
- return {};
139
- }
140
- return GeometryResult{
141
- .type = PrimitiveType::kTriangle ,
142
- .vertex_buffer =
143
- vertex_builder.CreateVertexBuffer (renderer.GetTransientsBuffer ()),
144
- .transform = entity.GetShaderTransform (pass),
145
- };
146
- }
147
- }
148
-
149
83
auto points = renderer.GetTessellator ()->TessellateConvex (
150
84
path_, entity.GetTransform ().GetMaxBasisLength ());
151
85
@@ -169,7 +103,7 @@ GeometryResult FillPathGeometry::GetPositionUVBuffer(
169
103
170
104
GeometryResult::Mode FillPathGeometry::GetResultMode () const {
171
105
const auto & bounding_box = path_.GetBoundingBox ();
172
- if (!ContentContext:: kEnableStencilThenCover || path_.IsConvex () ||
106
+ if (path_.IsConvex () ||
173
107
(bounding_box.has_value () && bounding_box->IsEmpty ())) {
174
108
return GeometryResult::Mode::kNormal ;
175
109
}
0 commit comments