3 releases

new 0.2.2 Dec 17, 2024
0.2.1 Dec 16, 2024
0.2.0 Dec 16, 2024

#57 in Rendering

Download history

75 downloads per month
Used in hephae

MIT/Apache

50KB
891 lines

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.

Dependencies

~34–70MB
~1M SLoC