Crate hephae_render

Source
Expand description

§hephae-render

Hephae’s core rendering module. This library provides the following for you to build your framework on:

  • Vertex: The heart of Hephae. Defines the vertex buffer layout, rendering pipeline specialization, batching parameters, and draw commands.
  • Drawer: A render-world Component extracted from entities with HasDrawer<T>, acting as the “commander” to push out vertices and indices according to their logic-world entity parameters.
  • VertexCommand: A “draw command” issued by Drawer, cached and sorted in the pipeline and modifies the GPU buffers directly when dispatched by camera views.

The three of these are enough to build a sprite-less colorful 2D rendering system (see examples/quad.rs). Please refer to the item-level documentations for more in-depth explanations and usage guides.

Re-exports§

pub use bytemuck;

Modules§

attribute
Defines functionalitie associated with vertex attributes and their respective layouts and formats.
drawer
Defines base drawers that work with vertices and supply various vertex commands.
image_bind
Utilities to store and keep track of Images as BindGroups in the render world.
pipeline
Provides all the necessary resources for a working base rendering pipeline.
prelude
Common imports for hephae_render.
vertex
The heart of Hephae.

Structs§

DrawerPlugin
Vertex specialized drawer driver, generic over T.
RendererPlugin
The entry point of Hephae. See vertex and drawer for more information.
VertexPlugin
Vertex renderer driver, generic over T.

Enums§

HephaeRenderSystems
Labels assigned to Hephae systems that are added to Render.

Constants§

HEPHAE_VIEW_BINDINGS_HANDLE
Global handle to the global shader containing bind groups defining view uniform and tonemapping LUTs.

Traits§

DrawerConf
Drawers you can pass to RendererPlugin to conveniently configure them in one go.
VertexConf
Vertexs you can pass to RendererPlugin to conveniently configure them in one go.