Skip to main content

Wireframe

Struct Wireframe 

Source
pub struct Wireframe { /* private fields */ }
Expand description

Renders a triangle mesh as a screen-space wireframe.

The wireframe is generated from per-vertex barycentric coordinates and drawn on top of triangle faces in the fragment shader.

Implementations§

Source§

impl Wireframe

Source

pub fn new( context: &Context, positions: &[Vec3], wire_width: f32, wire_color: Srgba, ) -> Self

Creates a new wireframe object from vertex positions

Source

pub fn new_from_cpu_mesh( context: &Context, cpu_mesh: &CpuMesh, wire_width: f32, wire_color: Srgba, ) -> Self

Creates a new wireframe object from a CPU mesh.

Source

pub fn new_from_cpu_model( context: &Context, cpu_model: &CpuModel, wire_width: f32, wire_color: Srgba, ) -> Vec<Self>

Creates a new wireframe object from a CPU model.

Source

pub fn set_transformation(&mut self, transformation: Mat4)

Sets the model transformation applied when rendering.

Source

pub fn set_wire_width(&mut self, width: f32)

Sets the wire thickness.

Source

pub fn set_wire_color(&mut self, color: Srgba)

Sets the wire color.

Trait Implementations§

Source§

impl Geometry for Wireframe

Source§

fn draw( &self, viewer: &dyn Viewer, program: &Program, render_states: RenderStates, )

Draw this geometry.
Source§

fn vertex_shader_source(&self) -> String

Returns the vertex shader source for this geometry given that the fragment shader needs the given vertex attributes.
Source§

fn id(&self) -> GeometryId

Returns a unique ID for each variation of the shader source returned from Geometry::vertex_shader_source. Read more
Source§

fn render_with_material( &self, material: &dyn Material, viewer: &dyn Viewer, lights: &[&dyn Light], )

Render the geometry with the given Material. Must be called in the callback given as input to a RenderTarget, ColorTarget or DepthTarget write method. Use an empty array for the lights argument, if the material does not require lights to be rendered.
Source§

fn render_with_effect( &self, material: &dyn Effect, viewer: &dyn Viewer, lights: &[&dyn Light], color_texture: Option<ColorTexture<'_>>, depth_texture: Option<DepthTexture<'_>>, )

Render the geometry with the given Effect. Must be called in the callback given as input to a RenderTarget, ColorTarget or DepthTarget write method. Use an empty array for the lights argument, if the material does not require lights to be rendered.
Source§

fn aabb(&self) -> AxisAlignedBoundingBox

Returns the AxisAlignedBoundingBox for this geometry in the global coordinate system.
Source§

fn animate(&mut self, _time: f32)

For updating the animation of this geometry if it is animated, if not, this method does nothing. The time parameter should be some continious time, for example the time since start.
Source§

impl<'a> IntoIterator for &'a Wireframe

Source§

type Item = &'a dyn Object

The type of the elements being iterated over.
Source§

type IntoIter = Once<&'a dyn Object>

Which kind of iterator are we turning this into?
Source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
Source§

impl Object for Wireframe

Source§

fn render(&self, viewer: &dyn Viewer, lights: &[&dyn Light])

Render the object. Use an empty array for the lights argument, if the objects does not require lights to be rendered. Must be called in the callback given as input to a RenderTarget, ColorTarget or DepthTarget write method.
Source§

fn material_type(&self) -> MaterialType

Returns the type of material applied to this object.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, S> SimdFrom<T, S> for T
where S: Simd,

Source§

fn simd_from(value: T, _simd: S) -> T

Source§

impl<F, T, S> SimdInto<T, S> for F
where T: SimdFrom<F, S>, S: Simd,

Source§

fn simd_into(self, simd: S) -> T

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.