# maplibre::render - Rust
This module implements the rendering algorithm of maplibre-rs. It manages the whole communication with the GPU.

# Module maplibre::render

source ·
Expand description

This module implements the rendering algorithm of maplibre-rs. It manages the whole communication with the GPU.

The render in this module is largely based on the bevy_render crate with commit `aced6a`. It is dual-licensed under MIT and Apache:

    Bevy is dual-licensed under either

    * MIT License (docs/LICENSE-MIT or http://opensource.org/licenses/MIT)
    * Apache License, Version 2.0 (docs/LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)

    at your option.

We appreciate the design and implementation work which as gone into it.

## Re-exports

- `pub use shaders::ShaderVertex;`

## Modules

- builder
- camera
  Main camera
- draw_graph 🔒
  Labels for the “draw” graph
- error
- eventually
- graph
- graph_runner 🔒
  Executes a `RenderGraph`
- main_graph
- main_pass 🔒
  The main render pass for this application.
- render_commands
  Specifies the instructions which are going to be sent to the GPU. Render commands can be concatenated into a new render command which executes multiple instruction sets.
- render_phase
  Describes the concept of a `RenderPhase` and `PhaseItem`
- resource
  Utilities which holds references to GPU-owned. Usually a resource is a wrapper which makes using buffers or textures simpler.
- settings
  Settings for the renderer
- shaders
- systems 🔒
  Rendering specific systems
- tile_view_pattern
  Utility for generating a tile pattern which can be used for masking.
- view_state

## Structs

- MaskPipeline
- RenderPlugin
- RenderResources
- Renderer

## Enums

- RenderStageLabel
  The labels of the default App rendering stages.

## Constants

- INDEX_FORMAT 🔒