pub trait PillRenderer {
Show 14 methods
fn new(window: &Window, config: Config) -> Self
where
Self: Sized;
fn resize(&mut self, new_window_size: PhysicalSize<u32>);
fn set_master_pipeline(
&mut self,
vertex_shader_bytes: &[u8],
fragment_shader_bytes: &[u8]
) -> Result<()>;
fn create_mesh(
&mut self,
name: &str,
mesh_data: &MeshData
) -> Result<RendererMeshHandle>;
fn create_texture(
&mut self,
name: &str,
image_data: &DynamicImage,
texture_type: TextureType
) -> Result<RendererTextureHandle>;
fn create_material(
&mut self,
name: &str,
textures: &MaterialTextureMap,
parameters: &MaterialParameterMap
) -> Result<RendererMaterialHandle>;
fn create_camera(&mut self) -> Result<RendererCameraHandle>;
fn update_material_textures(
&mut self,
renderer_material_handle: RendererMaterialHandle,
textures: &MaterialTextureMap
) -> Result<()>;
fn update_material_parameters(
&mut self,
renderer_material_handle: RendererMaterialHandle,
parameters: &MaterialParameterMap
) -> Result<()>;
fn destroy_mesh(
&mut self,
renderer_mesh_handle: RendererMeshHandle
) -> Result<()>;
fn destroy_texture(
&mut self,
renderer_texture_handle: RendererTextureHandle
) -> Result<()>;
fn destroy_material(
&mut self,
renderer_material_handle: RendererMaterialHandle
) -> Result<()>;
fn destroy_camera(
&mut self,
renderer_camera_handle: RendererCameraHandle
) -> Result<()>;
fn render(
&mut self,
active_camera_entity_handle: EntityHandle,
render_queue: &Vec<RenderQueueItem>,
camera_component_storage: &ComponentStorage<CameraComponent>,
transform_component_storage: &ComponentStorage<TransformComponent>
) -> Result<(), RendererError>;
}