[][src]Crate amethyst_rendy

This implementation of the Amethyst Renderer utilizes the rendy crate, built on top of gfx-hal to provide the building blocks for a AAA configurable rendering graph-based pipeline.

As a general overview, this crate can be broken down as follows:

Core

Submodules

Passes

Systems

Components

Modules

batch

Module containing structures useful for batching draw calls in scenarios with various known assumptions, e.g. order independence.

bundle

A home of [RenderingBundle] with it's rendering plugins system and all types directly related to it.

camera

Camera type with support for perspective and orthographic projections.

debug_drawing

Debug Drawing library

error

Renderer error types.

formats

Pre-defined graphical formats and data provided by amethyst_rendy

light

Light sources.

loaders

Loaders re-exported from rendy for loading the most common image types as textures.

mtl

Physically-based material.

palette

A library that makes linear color calculations and conversion easy and accessible for anyone. It uses the type system to enforce correctness and to avoid mistakes, such as mixing incompatible color types.

pass

Passes and shaders implemented by amethyst

pipeline

Graphics pipeline abstraction

plugins

Set of predefined implementations of RenderPlugin for use with RenderingBundle.

pod

GPU POD data types.

rendy

Rendy's top level crate. Reexports all others.

resources

amethyst rendering ecs resources

serde_shim

This module contains a few serialization shims for types from palette crate. It is required due to buggy default implementation of those types. See this issue for more details: https://github.com/Ogeon/palette/issues/130 When above issue will be resolved, this can probably be removed.

shape

Basic shape prefabs.

skinning

Skinned mesh and bone implementation for renderer.

sprite

2D Sprite Rendering implementation details.

sprite_visibility

Transparency, visibility sorting and camera centroid culling for 2D Sprites.

submodules

Various helpers and implementations for sub functions of render passes.

system

Renderer system

transparent

Transparency component implementation

types

'Global' rendering type declarations

util

Misc. rendy and rendering utility functions and types.

visibility

Transparency, visibility sorting and camera centroid culling for 3D Meshes.

Structs

ActiveCamera

Active camera resource, used by the renderer to choose which camera to get the view matrix from. If no active camera is found, the first camera will be used as a fallback.

Camera

Camera struct.

Factory

Higher level device interface. Manges memory, resources and queue families.

GraphBuilder

Build graph from nodes and resource.

ImageFormat

Image format description newtype wrapper for ImageTextureConfig from rendy.

Material

A physically based Material with metallic workflow, fully utilized in PBR render pass.

MaterialDefaults

A resource providing default textures for Material. These will be be used by the renderer in case a texture handle points to a texture which is not loaded already. Additionally, you can use it to fill up the fields of Material you don't want to specify.

MeshProcessorSystem

Asset processing system for Mesh asset type.

RenderBase3D

A RenderPlugin for forward rendering of 3d objects. Generic over 3d pass rendering method.

RenderDebugLines

A [RenderPlugin] for drawing debug lines. Use with [debug_drawing::DebugLines] resource or [debug_drawing::DebugLinesComponent].

RenderFlat2D

A [RenderPlugin] for drawing 2d objects with flat shading. Required to display sprites defined with [SpriteRender] component.

RenderSkybox

RenderPlugin for rendering skyboxes.

RenderToWindow

A [RenderPlugin] for opening a window and displaying a render target to it.

RenderingBundle

A bundle of systems used for rendering using Rendy render graph.

RenderingSystem

Amethyst rendering system

Sprite

Dimensions and texture coordinates of each sprite in a sprite sheet.

SpriteRender

Information for rendering a sprite.

SpriteSheet

Meta data for a sprite sheet texture.

SpriteSheetFormat

Allows loading of sprite sheets in RON format.

SubpassBuilder

Build for rendering sub-pass.

TextureProcessorSystem

Asset processing system for Texture asset type.

Transparent

Transparent mesh component

Enums

ChangeDetection

Helper structure for tracking indexed changes for per-image draw call recording.

Format

A format descriptor that describes the channels present in a texture or view, how they are laid out, what size they are, and how the elements of the channels are interpreted (integer, float, etc.)

Kind

Specifies the kind of an image to be allocated.

Mesh

Mesh wrapper.

MeshPrefab

Internal mesh loading

Texture

Texture wrapper.

TexturePrefab

PrefabData for loading Textures.

Traits

Backend

Extension of the rendy Backend trait.

GraphCreator

Graph trait implementation required by consumers. Builds a graph and manages signaling when the graph needs to be rebuilt.

RenderGroupDesc

Descriptor for render group

RenderPlugin

Basic building block of rendering in [RenderingBundle].

Functions

simple_shader_set

Helper function to create a GraphicsShaderSet

Type Definitions

RenderFlat3D

A RenderPlugin for forward rendering of 3d objects using flat shading.

RenderPbr3D

A RenderPlugin for forward rendering of 3d objects using physically-based shading.

RenderShaded3D

A RenderPlugin for forward rendering of 3d objects using shaded shading.