ascending_graphics

Struct Map

Source
pub struct Map {
    pub pos: Vec2,
    pub tiles: Vec<TileData>,
    pub lower_buffer: Vec<MapVertex>,
    pub upper_buffer: Vec<MapVertex>,
    pub stores: [Index; 2],
    pub orders: [DrawOrder; 2],
    pub filled_tiles: [u16; 9],
    pub tilesize: u32,
    pub can_render: bool,
    pub camera_type: CameraType,
    pub changed: bool,
}
Expand description

Handler for rendering Map to GPU.

Fields§

§pos: Vec2

X, Y, GroupID for loaded map. Add this to the higher up Map struct. pub world_pos: Vec3, its render position. within the screen.

§tiles: Vec<TileData>§lower_buffer: Vec<MapVertex>§upper_buffer: Vec<MapVertex>§stores: [Index; 2]

Store index per each layer.

§orders: [DrawOrder; 2]

the draw order of the maps. created when update is called.

§filled_tiles: [u16; 9]

count if any Filled Tiles Exist. this is to optimize out empty maps in rendering.

§tilesize: u32

The size of the Tile to render. for spacing tiles out upon vertex creation. Default will be 20.

§can_render: bool

Used to deturmine if the map can be rendered or if its just a preload.

§camera_type: CameraType§changed: bool

If the position or a tile gets changed.

Implementations§

Source§

impl Map

Source

pub fn create_quad(&mut self, renderer: &mut GpuRenderer, atlas: &mut AtlasSet)

Updates the Map’s Buffers to prepare them for rendering.

Source

pub fn new(renderer: &mut GpuRenderer, tilesize: u32) -> Self

Creates a new Map with tilesize.

Source

pub fn unload(&self, renderer: &mut GpuRenderer)

Unloades the Map’s buffer from the buffer store.

Source

pub fn get_tile(&self, pos: (u32, u32, u32)) -> TileData

gets the TileData based upon the tiles x, y, and MapLayers. MapLayers::Ground is Layer 0.

Source

pub fn set_camera_type(&mut self, camera_type: CameraType)

Sets the CameraType this object will use to Render with.

Source

pub fn set_tile(&mut self, pos: (u32, u32, u32), tile: TileData)

This sets the tile’s Id within the texture, layer within the texture array and Alpha for its transparency. This allows us to loop through the tiles Shader side efficiently.

Source

pub fn update( &mut self, renderer: &mut GpuRenderer, atlas: &mut AtlasSet, ) -> Option<Vec<OrderedIndex>>

Used to check and update the Map’s Buffer for Rendering. Returns an Optional vec![Lower, Upper] OrderedIndex to use in Rendering.

Auto Trait Implementations§

§

impl Freeze for Map

§

impl RefUnwindSafe for Map

§

impl Send for Map

§

impl Sync for Map

§

impl Unpin for Map

§

impl UnwindSafe for Map

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> Downcast<T> for T

Source§

fn downcast(&self) -> &T

Source§

impl<T> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
Source§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Source§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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 more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
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.
Source§

impl<T> Upcast<T> for T

Source§

fn upcast(&self) -> Option<&T>

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> WasmNotSend for T
where T: Send,

Source§

impl<T> WasmNotSendSync for T

Source§

impl<T> WasmNotSync for T
where T: Sync,