| 196 | } |
| 197 | |
| 198 | void createSuperTriangle(Polygon* poly) |
| 199 | { |
| 200 | Vec2f centroid = { (poly->bounds[0].x + poly->bounds[1].x) * 0.5f, (poly->bounds[0].z + poly->bounds[1].z) * 0.5f }; |
| 201 | s_coordCenter.x = floorf(centroid.x); |
| 202 | s_coordCenter.z = floorf(centroid.z); |
| 203 | centroid.x -= s_coordCenter.x; |
| 204 | centroid.z -= s_coordCenter.z; |
| 205 | |
| 206 | Vec2f ext = { poly->bounds[1].x - poly->bounds[0].x, poly->bounds[1].z - poly->bounds[0].z }; |
| 207 | f32 maxExt = std::max(ext.x, ext.z); |
| 208 | |
| 209 | Vec2f v0 = { centroid.x - maxExt * 5.0f, centroid.z - maxExt }; |
| 210 | Vec2f v1 = { centroid.x, centroid.z + maxExt * 5.0f }; |
| 211 | Vec2f v2 = { centroid.x + maxExt * 5.0f, centroid.z - maxExt }; |
| 212 | addTriangle(v0, v1, v2); |
| 213 | } |
| 214 | |
| 215 | void computePolygonBounds(Polygon* poly) |
| 216 | { |
no test coverage detected