pub struct Draw3d {
pub user_buffers: VecMap<VertexBuffer<Vert3dColor>>,
pub user_draw: VecMap<UserDraw>,
/* private fields */
}Expand description
3d drawing resources.
[ instance_vertices ]Fields§
§user_buffers: VecMap<VertexBuffer<Vert3dColor>>§user_draw: VecMap<UserDraw>Implementations§
Source§impl Draw3d
impl Draw3d
pub fn new(glium_display: &Display<WindowSurface>) -> Self
pub fn draw(render: &Render<Default>, glium_frame: &mut Frame)
pub const fn instance_vertices( &self, ) -> &VertexBuffer<Vert3dOrientationScaleColor>
pub const fn instanced_aabb_lines(&self) -> &Range<u32>
pub fn set_instanced_aabb_lines(&mut self, range: Range<u32>)
pub const fn instanced_aabb_triangles(&self) -> &Range<u32>
pub fn set_instanced_aabb_triangles(&mut self, range: Range<u32>)
pub const fn instanced_meshes(&self) -> &VecMap<InstancedMesh>
pub fn set_instanced_mesh(&mut self, mesh_key: MeshKey, mesh: InstancedMesh)
Sourcepub fn rebuild_instanced_meshes(
&mut self,
glium_display: &Display<WindowSurface>,
user_meshes: Vec<(MeshKey, Mesh, DrawPass)>,
)
pub fn rebuild_instanced_meshes( &mut self, glium_display: &Display<WindowSurface>, user_meshes: Vec<(MeshKey, Mesh, DrawPass)>, )
Re-builds instanced buffers to include given instanced meshes. The
provided instanced mesh keys must not overlap with any of the built-in
MeshIds.
Sourcepub fn instance_vertices_set(
&mut self,
glium_display: &Display<WindowSurface>,
instances_init: InstancesInit<'_>,
)
pub fn instance_vertices_set( &mut self, glium_display: &Display<WindowSurface>, instances_init: InstancesInit<'_>, )
Creates a new vertex buffer holding per-instance 3D vertices for various instanced meshes (grid, hemisphere, sphere, cylinder, capsule), AABBs, and tile billboards, and sets the instanced ranges corresponding to each
pub fn instance_vertices_aabb_lines_write( &self, vertex_data: &[Vert3dOrientationScaleColor], )
pub fn instance_vertices_aabb_triangles_write( &self, vertex_data: &[Vert3dOrientationScaleColor], )
pub fn instance_vertices_billboard_write( &self, billboard_key: usize, vertex_data: &[Vert3dOrientationScaleColor], )
pub fn instance_vertices_mesh_write( &self, mesh_key: usize, vertex_data: &[Vert3dOrientationScaleColor], )
Sourcepub fn tile_billboard_create(
&mut self,
glium_display: &Display<WindowSurface>,
tileset_texture: &Texture2d,
billboard_key: usize,
instances_range: Range<u32>,
string: &str,
)
pub fn tile_billboard_create( &mut self, glium_display: &Display<WindowSurface>, tileset_texture: &Texture2d, billboard_key: usize, instances_range: Range<u32>, string: &str, )
Create a new instanced billboard by blitting a string of tiles to a new texture.
Panics if billboard texture with key already exists.
Auto Trait Implementations§
impl !Freeze for Draw3d
impl !RefUnwindSafe for Draw3d
impl !Send for Draw3d
impl !Sync for Draw3d
impl Unpin for Draw3d
impl !UnwindSafe for Draw3d
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Casts the value.
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Casts the value.
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<Src, Dst> LosslessTryInto<Dst> for Srcwhere
Dst: LosslessTryFrom<Src>,
impl<Src, Dst> LosslessTryInto<Dst> for Srcwhere
Dst: LosslessTryFrom<Src>,
Source§fn lossless_try_into(self) -> Option<Dst>
fn lossless_try_into(self) -> Option<Dst>
Performs the conversion.
Source§impl<Src, Dst> LossyInto<Dst> for Srcwhere
Dst: LossyFrom<Src>,
impl<Src, Dst> LossyInto<Dst> for Srcwhere
Dst: LossyFrom<Src>,
Source§fn lossy_into(self) -> Dst
fn lossy_into(self) -> Dst
Performs the conversion.
Source§impl<T> OverflowingAs for T
impl<T> OverflowingAs for T
Source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
Source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
Casts the value.
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> SaturatingAs for T
impl<T> SaturatingAs for T
Source§fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
Source§fn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
Casts the value.
Source§impl<T> UnwrappedAs for T
impl<T> UnwrappedAs for T
Source§fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
Casts the value.
Source§impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
Source§fn unwrapped_cast_from(src: Src) -> Dst
fn unwrapped_cast_from(src: Src) -> Dst
Casts the value.
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
Source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Source§impl<T> WrappingAs for T
impl<T> WrappingAs for T
Source§fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
Source§fn wrapping_cast_from(src: Src) -> Dst
fn wrapping_cast_from(src: Src) -> Dst
Casts the value.