Tracking Issue: Primitive Shapes
- Dominant language
- Rust
- Stars
- 48.2k
- Forks
- 4.8k
- Avg merge
- 3d 22h
- Merged PRs (30d)
- 161
Description
This issue tracks progress on primitive shapes, which were first added in #10466 based on the `primitive-shapes` [RFC](https://github.com/bevyengine/rfcs/blob/main/rfcs/12-primitive-shapes.md).
## Meshing #10569
Primitives should support `Mesh` construction.
- [x] 2D shapes #11431
- [x] 3D shapes #11688
- [x] Deprecate shapes in `bevy_render::mesh::shape` #11773
- [ ] Support subdivisions
## Gizmos #10571
Gizmos should support drawing primitives.
- #11072
## Bounding volumes #10570
Bevy should have first-party bounding volumes and support computing them for primitives.
- #10946
- #11336
- #11439
- #11310
- #11586
## List of primitives
- [x] Rectangle
- [x] Cuboid
- [x] Circle
- [x] Sphere
- [x] Ellipse
- [ ] Ellipsoid
- [x] Triangle
- [x] Tetrahedron
- [x] Plane
- [x] Line
- [x] Line segment
- [x] Polyline
- [x] Polygon
- [x] Regular polygon
- [x] Annulus/Ring #12706
- [x] Torus
- [x] Capsule
- [x] Cylinder
- [x] Cone
- [x] Conical frustum
- [ ] Pyramidal frustum
- [ ] View frustum
- [ ] Pyramid
- [x] Prism (can be built by extruding 2D shapes)
- [x] Wedge/Ramp (can be built by extruding a triangle)
- [ ] Half-space
- [x] Arc #13482
- [x] Circular sector #13482
- [x] Circular segment #13482
## Remove bounding volumes from `bevy_render`
See #13945
## Misc
- [x] #10856
- [x] Remove AABBs and collision logic from `bevy_sprite` #11500
- [ ] Support projecting 3D shapes onto 2D
- [x] Support extruding 2D shapes into 3D #13270
- [ ] Point queries (`project_point`, `contains_point`, etc.)
- [ ] Ray casting #15724
- [ ] Support maps
- [ ] Signed distance functions
## Long-term possibilities
- Bounding Volume Hierarchies (BVH)
- Broad phase collision detection
- Spatial query pipeline
- Rendering
- Frustum culling
- Collider shapes and collision detection for primitives
- Raycasting and other spatial queries for primitives
- Signed Distance Functions (SDF) for primitives
Contributor guide
Assessment
This issue has not been assessed yet.