[−][src]Crate plane_split
Plane splitting.
Uses euclid for the math basis. Introduces new geometrical primitives and associated logic.
Automatically splits a given set of 4-point polygons into sub-polygons that don't intersect each other. This is useful for WebRender, to sort the resulting sub-polygons by depth and avoid transparency blending issues.
Structs
BspSplitter |
Binary Space Partitioning splitter, uses a BSP tree. |
Clipper |
A helper object to clip polygons by a number of planes. |
Line |
A generic line. |
LineProjection |
The projection of a |
NegativeHemisphereError |
An error returned when everything would end up projected to the negative hemisphere (W <= 0.0); |
Plane |
An infinite plane in 3D space, defined by equation: dot(v, normal) + offset = 0 When used for plane splitting, it's defining a hemisphere with equation "dot(v, normal) + offset > 0". |
Polygon |
A convex polygon with 4 points lying on a plane. |
Enums
Intersection |
Polygon intersection results. |
Traits
Splitter |
Generic plane splitter interface |