diff options
| author | Sébastien Crozet <developer@crozet.re> | 2022-04-28 17:30:35 +0200 |
|---|---|---|
| committer | Sébastien Crozet <developer@crozet.re> | 2022-04-28 17:30:35 +0200 |
| commit | 65824e74f3a949343059b3bf5ab51bc7920f416d (patch) | |
| tree | 6c646bdb7c831b1ed12843e36be67dd769039615 /src/pipeline/debug_render_pipeline/debug_render_backend.rs | |
| parent | 5063fa420392455f7926f1ba3e65612f79a0b066 (diff) | |
| download | rapier-65824e74f3a949343059b3bf5ab51bc7920f416d.tar.gz rapier-65824e74f3a949343059b3bf5ab51bc7920f416d.tar.bz2 rapier-65824e74f3a949343059b3bf5ab51bc7920f416d.zip | |
Add comments for the debug-renderer
Diffstat (limited to 'src/pipeline/debug_render_pipeline/debug_render_backend.rs')
| -rw-r--r-- | src/pipeline/debug_render_pipeline/debug_render_backend.rs | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/pipeline/debug_render_pipeline/debug_render_backend.rs b/src/pipeline/debug_render_pipeline/debug_render_backend.rs index 27a67e4..4fa86e4 100644 --- a/src/pipeline/debug_render_pipeline/debug_render_backend.rs +++ b/src/pipeline/debug_render_pipeline/debug_render_backend.rs @@ -6,16 +6,31 @@ use crate::math::{Isometry, Point, Real, Vector}; use crate::prelude::{ColliderHandle, MultibodyJointHandle}; use na::Scale; +/// The object currently being rendered by the debug-renderer. #[derive(Copy, Clone)] pub enum DebugRenderObject<'a> { + /// A rigid-body is being rendered. RigidBody(RigidBodyHandle, &'a RigidBody), + /// A collider is being rendered. Collider(ColliderHandle, &'a Collider), + /// An impulse-joint is being rendered. ImpulseJoint(ImpulseJointHandle, &'a ImpulseJoint), + /// A multibody joint is being rendered. MultibodyJoint(MultibodyJointHandle, &'a Multibody, &'a MultibodyLink), + /// Another element is being rendered. Other, } +/// Trait implemented by graphics backends responsible for rendering the physics scene. +/// +/// The only thing that is required from the graphics backend is to be able to render +/// a colored line. Note that the color is only a suggestion and is computed from the +/// `DebugRenderStyle`. The backend is free to apply its own style, for example based on +/// the `object` being rendered. pub trait DebugRenderBackend { + /// Draws a colored line. + /// + /// Note that this method can be called multiple time for the same `object`. fn draw_line( &mut self, object: DebugRenderObject, @@ -24,6 +39,7 @@ pub trait DebugRenderBackend { color: [f32; 4], ); + /// Draws a set of line. fn draw_polyline( &mut self, object: DebugRenderObject, @@ -40,6 +56,7 @@ pub trait DebugRenderBackend { } } + /// Draws a chain of line. fn draw_line_strip( &mut self, object: DebugRenderObject, |
