# lumen-engine-gpu
`lumen-engine-gpu` contains the lower-level GPU rendering infrastructure used by `lumen-engine`: renderer setup, texture and buffer resources, render/compute program descriptions, pass planning, and backend-specific interop helpers.
This crate is experimental and closely tracks the renderer internals.
## Platform Notes
Lumen's native rendering requires a GPU.
Supported native backends today are:
- Vulkan on Linux.
- Metal on macOS.
The crate uses `wgpu` as its primary GPU abstraction. Vulkan export helpers are only compiled on Linux with the `vulkan` feature. macOS dependencies enable Metal support for the platform target.
## Features
- `metal`: enables explicit Metal backend support through `wgpu`/`wgpu-hal`.
- `vulkan`: enables Vulkan backend support and Vulkan export helpers.
## Development
```bash
cargo check -p lumen-engine-gpu
cargo check -p lumen-engine-gpu --features vulkan
cargo test -p lumen-engine-gpu
```