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.
  • HephaeRenderPlugin<T: Vertex>: Attaches Hephae vertex systems generic over T to the application.
  • DrawerPlugin<T: Drawer>: Attaches Hephae vertex-drawer systems generic over T to the application.

The five 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.

Modules§

  • Defines base drawers that work with vertices and supply various vertex commands.
  • Provides all the necessary resources for a working base rendering pipeline. Note that drawer-specific pipeline integration is provided by DrawerPlugin.
  • Common imports for hephae_render.
  • The heart of Hephae.

Structs§

Enums§

Constants§