pub trait Object: Geometry {
    // Required methods
    fn render(&self, camera: &Camera, lights: &[&dyn Light]);
    fn material_type(&self) -> MaterialType;
}
Expand description

Represents a 3D object which can be rendered directly or used in a render call, for example RenderTarget::render.

Required Methods§

source

fn render(&self, camera: &Camera, 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.

Implementations on Foreign Types§

source§

impl<T: Object + ?Sized> Object for &T

source§

fn render(&self, camera: &Camera, lights: &[&dyn Light])

source§

fn material_type(&self) -> MaterialType

source§

impl<T: Object + ?Sized> Object for &mut T

source§

fn render(&self, camera: &Camera, lights: &[&dyn Light])

source§

fn material_type(&self) -> MaterialType

source§

impl<T: Object> Object for Box<T>

source§

fn render(&self, camera: &Camera, lights: &[&dyn Light])

source§

fn material_type(&self) -> MaterialType

source§

impl<T: Object> Object for Rc<T>

source§

fn render(&self, camera: &Camera, lights: &[&dyn Light])

source§

fn material_type(&self) -> MaterialType

source§

impl<T: Object> Object for Arc<T>

source§

fn render(&self, camera: &Camera, lights: &[&dyn Light])

source§

fn material_type(&self) -> MaterialType

source§

impl<T: Object> Object for RefCell<T>

source§

fn render(&self, camera: &Camera, lights: &[&dyn Light])

source§

fn material_type(&self) -> MaterialType

source§

impl<T: Object> Object for RwLock<T>

source§

fn render(&self, camera: &Camera, lights: &[&dyn Light])

source§

fn material_type(&self) -> MaterialType

Implementors§