Version: 0.2.0
Renderlib: A wgpu/winit framework for graphics applications in Rust
Renderlib provides a foundation for building graphics applications with wgpu and winit. It handles window management, GPU resource initialization, rendering loops, and common graphics utilities.
For API documentation, run cargo doc --open.
docs/
├── README.md # This file
├── architecture/
│ ├── 01-OVERVIEW.md # Architecture and component overview
│ ├── 02-MODULES.md # Module descriptions
│ └── 03-COMPONENT_INTERACTIONS.md # Data flow and interactions
└── examples/
└── EXAMPLES.md # Example programs
- Read Architecture Overview for high-level design
- Follow Getting Started Guide to create your first app
- Browse API docs with
cargo doc --open - Run examples with
cargo run --bin triangle
| Module | Purpose |
|---|---|
app |
Application framework and renderer trait |
camera |
Camera, transforms, and lighting |
context |
Render context for resource access |
deferred |
G-buffer management for deferred rendering |
device |
GPU infrastructure (device, queue, surface) |
device_helpers |
Utilities for buffer, shader, and pipeline creation |
geometry |
Vertex types and primitive generators |
input |
Input state and event handling |
mesh |
Mesh loading and caching |
player |
First-person camera control |
state |
Application state management |
| Example | Description |
|---|---|
triangle |
Simple rotating triangle with shader hot-reload |
forward |
Forward rendering with mesh loading and lighting |
deferred |
Deferred rendering with G-buffer |
deferred_with_camera_controls |
Deferred rendering with camera controls |
renderlib/
├── src/
│ ├── app.rs # Application framework
│ ├── camera.rs # Camera and lighting
│ ├── context.rs # Render context
│ ├── deferred.rs # Deferred rendering
│ ├── device.rs # GPU infrastructure
│ ├── device_helpers.rs # wgpu utilities
│ ├── geometry/ # Vertex types and primitives
│ ├── input.rs # Input handling
│ ├── mesh.rs # Mesh loading
│ ├── player.rs # Camera control
│ ├── state.rs # Application state
│ └── bin/ # Example programs
└── docs/ # High-level documentation
wgpu30 - WebGPU implementationwinit0.30 - Windowing and event looppollster1 - Async runtimebytemuck1.16 - Buffer utilitiescgmath0.18 - Math librarygltf1.4.1 - GLTF/GLB loading
MIT License. See LICENSE for details.