Struct citro3d::shader::Library

source ·
pub struct Library(/* private fields */);
Expand description

A PICA200 Shader Library (commonly called DVLB). This can be comprised of one or more Entrypoints, but most commonly has one vertex shader and an optional geometry shader.

This is the result of parsing a shader binary (.shbin), and the resulting Entrypoints can be used as part of a Program.

Implementations§

source§

impl Library

source

pub fn from_bytes(bytes: &[u8]) -> Result<Self, Box<dyn Error>>

Parse a new shader library from input bytes.

§Errors

An error is returned if the input data does not have an alignment of 4 (cannot be safely converted to &[u32]).

source

pub fn len(&self) -> usize

Get the number of Entrypoints in this shader library.

source

pub fn is_empty(&self) -> bool

Whether the library has any Entrypoints or not.

source

pub fn get(&self, index: usize) -> Option<Entrypoint<'_>>

Get the Entrypoint at the given index, if present.

Trait Implementations§

source§

impl Drop for Library

source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

§

impl RefUnwindSafe for Library

§

impl !Send for Library

§

impl !Sync for Library

§

impl Unpin for Library

§

impl UnwindSafe for Library

Blanket Implementations§

§

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

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

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

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

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

§

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

Mutably borrows from an owned value. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

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

§

fn into(self) -> U

Calls U::from(self).

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

§

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

§

type Error = Infallible

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

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

Performs the conversion.
§

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

§

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

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

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

Performs the conversion.